回答編集履歴
5
各行の先頭に差し戻し。
answer
CHANGED
@@ -12,9 +12,8 @@
|
|
12
12
|
for /f "usebackq tokens=*" %%A in (`dir /B`) do (
|
13
13
|
set TARGET_FILE=%%A
|
14
14
|
set TEMP_FILE=!TARGET_FILE!.tmp
|
15
|
-
echo !TARGET_FILE! > "!TEMP_FILE!"
|
16
15
|
for /f "usebackq delims=" %%B in ("!TARGET_FILE!") do (
|
17
|
-
echo %%B >> "!TEMP_FILE!"
|
16
|
+
echo !TARGET_FILE! %%B >> "!TEMP_FILE!"
|
18
17
|
)
|
19
18
|
del "!TARGET_FILE!"
|
20
19
|
ren "!TEMP_FILE!" "!TARGET_FILE!"
|
4
修正
answer
CHANGED
@@ -12,8 +12,9 @@
|
|
12
12
|
for /f "usebackq tokens=*" %%A in (`dir /B`) do (
|
13
13
|
set TARGET_FILE=%%A
|
14
14
|
set TEMP_FILE=!TARGET_FILE!.tmp
|
15
|
+
echo !TARGET_FILE! > "!TEMP_FILE!"
|
15
16
|
for /f "usebackq delims=" %%B in ("!TARGET_FILE!") do (
|
16
|
-
echo
|
17
|
+
echo %%B >> "!TEMP_FILE!"
|
17
18
|
)
|
18
19
|
del "!TARGET_FILE!"
|
19
20
|
ren "!TEMP_FILE!" "!TARGET_FILE!"
|
3
使用解釈誤りのため修正
answer
CHANGED
@@ -1,14 +1,24 @@
|
|
1
|
-
Windows
|
1
|
+
Windowsの場合。組み方は色々あると思います。複雑な処理になるようであれば、tkturboさんもおっしゃってますが`WSH`とか`PowerShell(バージョンによる)`で組んだほうが良いです。
|
2
|
+
バッチ処理ではそのまま書き換えることは無理なので一時ファイルに出力してリネームする方法です。
|
3
|
+
エラー処理などを入れてないので参考程度に。
|
2
4
|
|
3
5
|
|
4
6
|
```DOS
|
5
7
|
@echo off
|
8
|
+
setlocal enabledelayedexpansion
|
6
9
|
rem 対象パス
|
7
|
-
set TARGET_PATH=C:\foo\ba
|
10
|
+
set TARGET_PATH=C:\foo\ba zzzzzz
|
8
|
-
|
11
|
+
cd /d "%TARGET_PATH%"
|
12
|
+
for /f "usebackq tokens=*" %%A in (`dir /B`) do (
|
9
|
-
set
|
13
|
+
set TARGET_FILE=%%A
|
14
|
+
set TEMP_FILE=!TARGET_FILE!.tmp
|
15
|
+
for /f "usebackq delims=" %%B in ("!TARGET_FILE!") do (
|
16
|
+
echo !TARGET_FILE! %%B >> "!TEMP_FILE!"
|
17
|
+
)
|
18
|
+
del "!TARGET_FILE!"
|
19
|
+
ren "!TEMP_FILE!" "!TARGET_FILE!"
|
20
|
+
)
|
21
|
+
cd %~dp0
|
22
|
+
endlocal
|
10
23
|
|
11
|
-
for /f "usebackq tokens=*" %%A in (`dir /B "%TARGET_PATH%"`) do (
|
12
|
-
ren "%TARGET_PATH%\%%A" "%FILE_PREFIX%%%A"
|
13
|
-
)
|
14
24
|
```
|
2
敬称もれ修正。失礼しました。
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Windows、renを使った例。複雑な処理になるようであれば、tkturboもおっしゃってますが`WSH`とか`PowerShell(バージョンによる)`で組んだほうが良いです。
|
1
|
+
Windows、renを使った例。複雑な処理になるようであれば、tkturboさんもおっしゃってますが`WSH`とか`PowerShell(バージョンによる)`で組んだほうが良いです。
|
2
2
|
|
3
3
|
|
4
4
|
```DOS
|
1
対象パスに空白が入る場合の考慮漏れ修正
answer
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
```DOS
|
5
5
|
@echo off
|
6
6
|
rem 対象パス
|
7
|
-
set TARGET_PATH=
|
7
|
+
set TARGET_PATH=C:\foo\ba zzzzz
|
8
8
|
rem 先頭に入れる文字
|
9
9
|
set FILE_PREFIX=BAR_
|
10
10
|
|
11
|
-
for /f "usebackq tokens=*" %%A in (`dir /B %TARGET_PATH%`) do (
|
11
|
+
for /f "usebackq tokens=*" %%A in (`dir /B "%TARGET_PATH%"`) do (
|
12
12
|
ren "%TARGET_PATH%\%%A" "%FILE_PREFIX%%%A"
|
13
13
|
)
|
14
14
|
```
|