我想从子目录中复制一个文件类型,将副本放在一个文件夹中,重命名它们以便它们不会覆盖。重命名它但保留文件扩展名。我不关心它被重命名的内容,只要每个副本都有一个唯一的名称,这样它们就不会被覆盖。
现在是我的代码。除了覆盖具有相同名称的文件外,它会执行我想要的所有操作:
代码:
set dSource=C:\Users\P Ditty\Documents\SH3\data\cfg\Careers
set dTarget=C:\Users\P Ditty\Documents\SH3\data\cfg\Backups_SCR
set fType=*.clg
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
copy /v "%%f" "%dTarget%\" 2>nul
)
谢谢。
答案 0 :(得分:1)
通过保留原始目录结构来避免重复问题:
set dSource=C:\Users\P Ditty\Documents\SH3\data\cfg\Careers
set dTarget=C:\Users\P Ditty\Documents\SH3\data\cfg\Backups_SCR
set fType=*.clg
xcopy/s/i "%dSource%\%fType%" "%dTarget%"