
我正在嘗試建立無紙化診所並以電子方式儲存所有患者資料。我已經創建了8000個資料夾(1 - 8000),現在需要將大約16000個.pdf文件移動到相應的文件夾中,例如“202醫療救助卡”、“202醫生轉診”、“202病假條”需要移動到資料夾“202”。所有文件都儲存在一個資料夾中。
先感謝您。
答案1
如果你的情況是那簡單,那麼您應該繼續發出類似以下命令的作業系統命令:
MOVE 202* 202\
等等。
答案2
擴展此問題的其他當前答案:
在純文字編輯器(例如Windows記事本)中開啟一個新的文字文件並複製以下批次指令:
FOR /L %%G IN (1,1,8000) DO ( MOVE ".\%%G *" ".\%%G\" )
將此文件另存為 ex.
sort_files.bat
。將此
.bat
文件放在與您要排序的文件相同的資料夾中。sort_files.bat
透過雙擊它或從命令列執行它來運行。
注意事項
.\%%G *
假定檔名格式為 ex.202 Medical Aid Card
。如果您錯過了空格(即.\%%G*
),您的檔案將無法正確排序,並且您最終將獲得一個巨大的頭痛(所以不要這樣做!=P)。.\%%G\
假設您的現有資料夾與您的檔案位於同一目錄中。如果不是,請替換.
為資料夾目錄的實際路徑(例如C:\path\to\folder\directory\%%G\
)。在表達式 中
(1,1,8000)
,最後一個值(例如8000
)決定總共處理多少個循環。您可能需要考慮減少(1,1,8000)
到可管理的數量(例如(1,1,10)
),以便在提交之前測試您的批次文件(並檢查任何結果)(1,1,8000)
。
筆記
%%G
是用於循環計數的批次變數。處理循環時它會被替換為數字。於是就MOVE ".\%%G *" ".\%%G\"
變成前任了。MOVE ".\1 *" ".\1\"
。在命令中
MOVE ".\%%G *" ".\%%G\"
:從技術上講,只有當路徑包含空格(例如
".\%%G *"
)時才需要引號,但為了保持一致性,在來源路徑 (.\%%G *
) 和目標路徑 (.\%%G\
) 中都使用引號。.
是「目前目錄」的簡寫方式。*
是一個通配符。所以前。.\%%G *
翻譯為「目前目錄中以%%G
(例如1
)開頭的任何文件,後面跟著空格和任何其他字元(*
)」。
參考