teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答に追記

2020/12/18 08:59

投稿

y_waiwai
y_waiwai

スコア88180

answer CHANGED
@@ -1,4 +1,43 @@
1
1
  FOR /R D:\test\hoge %%i in (*.log) do (
2
2
  %%i の使い方が誤っています。
3
3
 
4
- こちらで実行したら、このようなメッセージ出てますな
4
+ こちらで実行したら、このようなメッセージ出てますな
5
+
6
+ ---
7
+ ちと実行法が間違ってたようで、
8
+ 真面目に実行させてみました。
9
+ D:\test\hoge には、a.logとb.log をいれてあります
10
+ COPYはREMにしてあります
11
+ ```BAT
12
+
13
+ D:\Users\Desktop>SET SV_NAME=aaa
14
+
15
+ D:\Users\Desktop>FOR /R D:\test\hoge %i in (*.log) do (
16
+ SET FNAME=%i
17
+ SET S=!FNAME!:~0,21!
18
+ SET COPY_SRC=D:\test\hoge\!FNAME!
19
+ SET COPY_DST=D:\test\hoge\fuga\!FNAME!:~0,21!_aaa.log
20
+ rem COPY D:\test\hoge\!FNAME! D:\test\hoge\fuga\_aaa.log
21
+ IF NOT ERRORLEVEL 0 (GOTO :ERR1 )
22
+ )
23
+
24
+ D:\Users\Desktop>(
25
+ SET FNAME=D:\test\hoge\a.log
26
+ SET S=!FNAME!:~0,21!
27
+ SET COPY_SRC=D:\test\hoge\!FNAME!
28
+ SET COPY_DST=D:\test\hoge\fuga\!FNAME!:~0,21!_aaa.log
29
+ rem COPY D:\test\hoge\!FNAME! D:\test\hoge\fuga\_aaa.log
30
+ IF NOT ERRORLEVEL 0 (GOTO :ERR1 )
31
+ )
32
+
33
+ D:\Users\Desktop>(
34
+ SET FNAME=D:\test\hoge\b.log
35
+ SET S=!FNAME!:~0,21!
36
+ SET COPY_SRC=D:\test\hoge\!FNAME!
37
+ SET COPY_DST=D:\test\hoge\fuga\!FNAME!:~0,21!_aaa.log
38
+ rem COPY D:\test\hoge\!FNAME! D:\test\hoge\fuga\_aaa.log
39
+ IF NOT ERRORLEVEL 0 (GOTO :ERR1 )
40
+ )
41
+
42
+ ```
43
+ ファイル名の生成のところがタコってるようですね