我期待創建一個Windows批處理腳本來移動大約2,000個文件並將它們分開,以便每個文件夾有10個文件。我試圖創建一個批處理腳本,但是這個語法確實使我的腦海裏浮現出來。以下是我迄今爲止將一個目錄中的大量文件移動到多個目錄
@echo off
:: Config parameters
set /a groupsize = 10
:: initial counter, everytime counter is 1, we create new folder
set /a n = 1
:: folder counter
set /a nf = 1
for %%f in (*.txt) do (
:: if counter is 1, create new folder
if %n% == 1 (
md folder%nf%
set /a n += 1
)
:: move file into folder
mv -Y %%f folder%nf%\%%f
:: reset counter if larger than group size
if %n% == %groupsize% (
set /a n = 1
) else (
set /a n += 1
)
)
pause
基本上這個腳本的作用是通過目錄中的每個.txt文件循環。它在開始時創建一個新目錄,並將10個文件移動到該目錄中,然後再次創建一個新文件夾並將另外10個文件移動到該目錄中,依此類推。但是,我遇到的問題是n
變量在循環中沒有增加?我敢肯定還有其他錯誤,因爲即使在pause
的CMD窗口關閉了。任何幫助或指導表示讚賞,謝謝你的時間!
@布賴恩:給我一個版本的Windows自帶的Python或Perl安裝......其他語言都很好,但也有仍然使用批處理文件很多正當的理由。此外,上面的代碼並不複雜。我看到(和寫)更糟。 – Joey 2010-03-30 00:08:26