1

私はあなたの知識レベルに非常に感銘を受けました。

私の質問は:

月の各日に 1 つずつ、31 個の MP3 ファイルを含むフォルダーがあります。

01 02....31 という名前のフォルダーを作成し、01.mp3 を 01 フォルダーに、02.mp3 を 02 フォルダーなどにコピーするバッチが必要です。これは、windows server 2k8 r2 コマンドで可能ですか?

私は以下を使用しようとします:

FOR /F %%j in (filelist.txt) do (
FOR /F "tokens=1 delims=." %%i in (filelist.txt) do (
xcopy %%j e:\%%i\
))

他にもたくさん... しかし、バッチは、各フォルダーに 31 個の MP3 ファイルを含む 31 個のフォルダーを作成します。

よろしくお願いします。レオポルド。

4

2 に答える 2

2

ネストされたループがあり、それぞれがファイルのリスト全体を通過します。そのため、それぞれ 31 個のファイルを含む 31 個のフォルダーが作成されます。

代わりに、リストを一度だけ処理する必要があります。これを試して:

FOR /F %%j IN (filelist.txt) DO XCOPY %%j E:\%%~nj\

~n修飾子は の値を変更するため%%j、名前のみに評価されます ( 01.mp3-> 01)。

修飾子の詳細については、FORコマンド ( )のヘルプを参照してください。FOR /?

于 2012-04-07T20:58:06.180 に答える
0

これは Google での最初の結果であり、Andriy の例は機能しません。実際に動いた結果がこちら

for /r "%CD%" %%f in (.) do (copy "filelist.txt" "%%~ff" > nul)

エクストラマスターへのクレジット

于 2021-07-11T22:10:26.320 に答える