質問編集履歴

7

更新

2019/08/21 06:47

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -374,7 +374,7 @@
374
374
 
375
375
 
376
376
 
377
- 追記
377
+ 追記
378
378
 
379
379
  ```bat
380
380
 

6

更新

2019/08/21 06:47

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -369,3 +369,49 @@
369
369
 
370
370
 
371
371
  現在デスクトップには無題2.txtを含めtxtファイルが6つあります。
372
+
373
+
374
+
375
+
376
+
377
+ 追記5
378
+
379
+ ```bat
380
+
381
+ @echo off
382
+
383
+
384
+
385
+ rem カレントディレクトリにTempフォルダを作成する
386
+
387
+ set FILE_PATH=Temp\
388
+
389
+ mkdir Temp
390
+
391
+ if not %errorlevel% == 0 exit /b
392
+
393
+
394
+
395
+ for %%i in (*.txt) do call :sub %%i
396
+
397
+ exit /b
398
+
399
+
400
+
401
+ :sub
402
+
403
+ set FILE=%1
404
+
405
+ rem それぞれのテキストファイルを1行ずつ読み込む
406
+
407
+ set /p NAME=<%FILE%
408
+
409
+ set MAKE_FOLDER=%FILE_PATH%%NAME%
410
+
411
+ if not exist "%MAKE_FOLDER%" mkdir "%MAKE_FOLDER%"
412
+
413
+ type "%FILE%" >> %MAKE_FOLDER%\%FILE%_output.txt
414
+
415
+ exit /b
416
+
417
+ ```

5

更新

2019/08/21 06:46

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -324,7 +324,13 @@
324
324
 
325
325
  追記④
326
326
 
327
+ ```bat
328
+
329
+
330
+
331
+ @echo off
332
+
327
- ```batfor %%i in (*.txt) do call: function1 %%i
333
+ for %%i in (*.txt) do call :sub %%i
328
334
 
329
335
  echo %FILE%
330
336
 
@@ -338,6 +344,8 @@
338
344
 
339
345
  exit /b
340
346
 
347
+
348
+
341
349
  ```
342
350
 
343
351
 

4

更新

2019/08/20 23:30

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -319,3 +319,45 @@
319
319
 
320
320
 
321
321
  ```
322
+
323
+
324
+
325
+ 追記④
326
+
327
+ ```batfor %%i in (*.txt) do call: function1 %%i
328
+
329
+ echo %FILE%
330
+
331
+ exit /b
332
+
333
+
334
+
335
+ :function1
336
+
337
+ set FILE=%1
338
+
339
+ exit /b
340
+
341
+ ```
342
+
343
+
344
+
345
+ 追記④に対するCMDの表示結果
346
+
347
+ ```ここに言語を入力
348
+
349
+ The system cannot find the batch label specified -
350
+
351
+ The system cannot find the batch label specified -
352
+
353
+ The system cannot find the batch label specified -
354
+
355
+ The system cannot find the batch label specified -
356
+
357
+ 無題2.txt
358
+
359
+ ```
360
+
361
+
362
+
363
+ 現在デスクトップには無題2.txtを含めtxtファイルが6つあります。

3

更新

2019/08/20 05:24

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -233,3 +233,89 @@
233
233
  %1>> %MAKE_FOLDER%\%FILE%_output.txt
234
234
 
235
235
  ```
236
+
237
+
238
+
239
+ 追記③
240
+
241
+ ```bat
242
+
243
+ @echo off
244
+
245
+ setlocal enabledelayedexpansion
246
+
247
+
248
+
249
+ rem カレントディレクトリにSongsフォルダを作成する
250
+
251
+
252
+
253
+ set FILE_PATH=Songs\
254
+
255
+ mkdir Songs
256
+
257
+
258
+
259
+ if %errorlevel% == 0 (
260
+
261
+
262
+
263
+ for %%i in (*.txt) do call: function1 %%i
264
+
265
+
266
+
267
+ set MAKE_FOLDER=%FILE_PATH%%NAME%
268
+
269
+
270
+
271
+ if exist "%MAKE_FOLDER%" (
272
+
273
+ call: function3 %%i
274
+
275
+ ) else (
276
+
277
+ mkdir %MAKE_FOLDER%
278
+
279
+ call: function3 %%i
280
+
281
+ )
282
+
283
+ )
284
+
285
+
286
+
287
+ :function1
288
+
289
+ set FILE=%1
290
+
291
+ call:function2 %FILE%
292
+
293
+
294
+
295
+ :function2
296
+
297
+ for /f "delims=" %%a in (%1) do (
298
+
299
+ set NAME=%%a
300
+
301
+ goto :exit_for
302
+
303
+ )
304
+
305
+ :exit_for
306
+
307
+ exit /b
308
+
309
+
310
+
311
+ :function3
312
+
313
+ for /f "delims=" %%a in (%1) do (
314
+
315
+ echo %%a>> %MAKE_FOLDER%\%1_output.txt
316
+
317
+ exit /b
318
+
319
+
320
+
321
+ ```

2

更新

2019/08/20 04:32

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -159,3 +159,77 @@
159
159
  exit /b
160
160
 
161
161
  ```
162
+
163
+ 追記②
164
+
165
+ ```bat
166
+
167
+ @echo off
168
+
169
+ setlocal enabledelayedexpansion
170
+
171
+
172
+
173
+ rem カレントディレクトリにSongsフォルダを作成する
174
+
175
+
176
+
177
+ set FILE_PATH=Songs\
178
+
179
+ mkdir Songs
180
+
181
+
182
+
183
+ if %errorlevel% == 0 (
184
+
185
+
186
+
187
+ for %%i in (*.txt) do call subroutine1 %%i
188
+
189
+
190
+
191
+ rem それぞれのテキストファイルを1行ずつ読み込む
192
+
193
+ for /f "delims=" %%a in (%FILE%) do call:subroutine2 %%a
194
+
195
+ set MAKE_FOLDER=%FILE_PATH%%NAME%
196
+
197
+ if exist "%MAKE_FOLDER%" (
198
+
199
+ for /f "delims=" %%a in (%FILE%) do call:subroutine3 %%a
200
+
201
+ ) else (
202
+
203
+ mkdir %MAKE_FOLDER%
204
+
205
+ for /f "delims=" %%a in (%FILE%) do call:subroutine3 %%a
206
+
207
+ )
208
+
209
+ )
210
+
211
+
212
+
213
+ :subroutine1
214
+
215
+ set FILE=%1
216
+
217
+
218
+
219
+ :subroutine2
220
+
221
+ set NAME=%1
222
+
223
+ goto :exit_for
224
+
225
+ :exit_for
226
+
227
+ exit /b
228
+
229
+
230
+
231
+ :subroutine3
232
+
233
+ %1>> %MAKE_FOLDER%\%FILE%_output.txt
234
+
235
+ ```

1

更新

2019/08/20 04:15

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -79,3 +79,83 @@
79
79
  このコードだと、デスクトップに複数のファイルがあるにもかかわらず、1ファイルしか作成されません。
80
80
 
81
81
  なぜでしょうか。なぜ一番外側のfor文が機能していないのでしょうか。
82
+
83
+
84
+
85
+
86
+
87
+ 追記①
88
+
89
+ ```bat
90
+
91
+ @echo off
92
+
93
+ setlocal enabledelayedexpansion
94
+
95
+
96
+
97
+ rem カレントディレクトリにSongsフォルダを作成する
98
+
99
+
100
+
101
+ set FILE_PATH=Songs\
102
+
103
+ mkdir Songs
104
+
105
+
106
+
107
+ if %errorlevel% == 0 (
108
+
109
+
110
+
111
+ for %%i in (*.txt) do (
112
+
113
+ set FILE=%%i
114
+
115
+ rem それぞれのテキストファイルを1行ずつ読み込む
116
+
117
+ call :subroutine %FILE%
118
+
119
+ set MAKE_FOLDER=%FILE_PATH%%NAME%
120
+
121
+ if exist "%MAKE_FOLDER%" (
122
+
123
+ for /f "delims=" %%a in (%FILE%) do (
124
+
125
+ echo %%a>> %MAKE_FOLDER%\%FILE%_output.txt
126
+
127
+ )
128
+
129
+ ) else (
130
+
131
+ mkdir %MAKE_FOLDER%
132
+
133
+ for /f "delims=" %%a in (%FILE%) do (
134
+
135
+ echo %%a>> %MAKE_FOLDER%\%FILE%_output.txt
136
+
137
+ )
138
+
139
+ )
140
+
141
+ )
142
+
143
+ )
144
+
145
+
146
+
147
+ :subroutine
148
+
149
+ for /f "delims=" %%a in (%1) do (
150
+
151
+ set NAME=%%a
152
+
153
+ goto :exit_for
154
+
155
+ )
156
+
157
+ :exit_for
158
+
159
+ exit /b
160
+
161
+ ```