請問各位前輩大大:
目前有一批原始檔案儲存在依照其日期命名的資料夾底下,並叫做相同的名稱(file.raw),例如: 有兩個原始檔案分別是C:\202001\20200101\file.raw 及 C:\202001\20200102\file.raw,但每個日期命名的資料夾中還有其他的檔案(例如20200101\otherfile.raw)。
希望能只複製原目錄(C:\202001)底下所有日期命名的子目錄(如20200101\及20200102)的file.raw到目的地 D:\AllFile\,並依照子目錄的日期名稱重新命名file.raw檔案,例如複製到目的地以檔名file20200101.raw及file20200102.raw儲存,並不複製原始的日期子目錄至目的地。
我目前查詢相關資料只有找到可以複製特定資料夾的特定檔名資料至目的地資料夾,但沒有找到依照子目錄改名的相關方式,不知道該如何操作比較合適。
請問robocopy可以複製原始資料夾的內子目錄的特定檔案名稱至目的地並依照子目錄改檔案名稱嗎?或是有其他方式嗎? 請各位大大給我建議了,感謝!!
用total commander
到c:\202001目錄,任意選一個子目錄
按ctrl+b將目錄展開
再按ctrl+a全選
再選memu的files>>Multi-Rename tool
Rename mask輸入[N][P]
再按Start!
再按close
再ctrl+a全選
再ctrl+c, ctrl+v到你想要的目錄
以下的bat檔可以完成您上述簡單的例子,但不知道有沒有完全符合您的需求。
set sourceLocation=C:\202001
set targetLocation=D:\AllFile
cd %sourceLocation%
setlocal %enabledelayedexpansion%
for /f "tokens=1 delims=^" %%i in ('dir /b') do (
copy %%i\file.raw %targetLocation%
ren %targetLocation%\file.raw file%%i.raw
)
pause
思路: