2017-10-18 160 views
-2

我目前有超過100.000個文件(.bak),我需要將1000個文件移動到不同的目錄。需要移動的文件有一個帶有不同擴展名(.xml)的雙文件,因此找到它們應該很容易,但對於我來說,我無法弄清楚如何做到這一點。我沒有使用.bat文件的經驗,而且我一直在爲一天的工作而苦苦掙扎。有人可以幫我嗎?根據名稱移動文件的批處理文件

簡單的例子:

第一個文件:

File1thatneedstomove.bak 
File1thatneedstomove.xml 
File1thatdoesntneedstomove.bak 
File2thatdoesntneedstomove.bak 
File3thatdoesntneedstomove.bak 
File2thatneedstomove.bak 
File2thatneedstomove.xml 

所以我需要在1樓和6文件移動到不同的文件夾,因爲他們有一個雙胞胎文件,其中剛剛週期之後的文字是不同的。

+0

歡迎來到SO。本網站不是代碼編寫服務,不適用於提供完整的解決方案。預計用戶將展示一些努力和代碼,而SO在此期間將幫助您解決具體的編程問題。你已經嘗試了什麼?請閱讀:https://stackoverflow.com/help/asking –

+0

我試圖複製這兩個解決方案,並改變它們以適應我的需求,但這似乎不起作用。我無法檢查如何比較兩個文件,然後移動基於該檢查.https://stackoverflow.com/questions/28035754/batch-file-to-move-files-based-on-name-wo-creating-新文件夾和https://stackoverflow.com/questions/41804814/batch-file-to-move-files-based-on-part-of-filename-to-folder-based-on-part-of-f –

回答

2

未測試:

set "source_dir=C:\baks" 
set "destination=C:\dest" 

for %%a in ("%source_dir%\*bak") do (
    if exist "%%~dpna.xml" (
     echo move /y "%%~fa" "%destination%" 
    ) 
) 

它將回聲所需的移動命令的參數。如果確實可以刪除方括號中的echo單詞。

+1

認爲你在'%%〜dpna.xml'中缺少'n' –

+0

@LS_ᴅᴇᴠ - 謝謝 – npocmaka

相關問題