回答編集履歴

1

追記

2023/08/14 11:50

投稿

otn
otn

スコア86295

test CHANGED
@@ -31,4 +31,24 @@
31
31
  )
32
32
  )
33
33
  ```
34
+ # 追記
35
+ 階層を1つ見誤っていたので、コードを下記のように訂正しておきます。
36
+ ```CMD
37
+ setlocal enabledelayedexpansion
38
+ pushd %~dp0\bat_test
39
+ for /f "delims=" %%F in ('dir /b /s *.csv') do (
40
+ set "FN=%%F"
41
+ set "FN=!FN:%CD%\=!"
42
+ for /f "delims=\ tokens=1,2,3" %%X in ("!FN!") do (
43
+ if not exist "..\test_all\%%X" mkdir "..\test_all\%%X"
44
+ copy "!FN!" "..\test_all\%%X\%%Y%%Z"
45
+ )
46
+ )
47
+ ```
48
+ `~~~\bat_test\test_listA\test_listA202308\datalist01.csv`といいうファイルに対して、
49
+ %%X ・・・ test_listA
50
+ %%Y ・・・ test_listA202308
51
+ %%Z ・・・ datalist01.csv
52
+ ですね。
53
+ `bat_test`相当をドロップするなら、最初のところを`pushd %1`にすればその隣に`test_all`が出来ます。
34
54