【发布时间】:2023-03-25 04:14:01
【问题描述】:
我想从子目录复制一种文件类型,将副本放在一个文件夹中,然后重命名它们,以免它们被覆盖。重命名它但保留文件扩展名。我不在乎它被重命名为什么,只要每个副本都有一个唯一的名称,这样它们就不会被覆盖。
这是我的代码。它会做我想做的一切,除了它会覆盖同名的文件:
代码:
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
)
谢谢。
【问题讨论】:
-
重命名到底是什么?如果你有一个文件 C:\Users\P Ditty\Documents\SH3\data\cfg\Careers\myfile.clg,你希望它在你的目的地是什么样子的?
-
任何东西。只要它保留文件扩展名。所以数字甚至日期。只要他们不覆盖。所以每个文件都是独一无二的。
标签: batch-file batch-processing batch-rename