使用 cmd 重命名文件并允许重复的文件名

使用 cmd 重命名文件并允许重复的文件名

我有一个由以下命令组成的批处理文件。

REN "H:\April2012\A04\mr_sudheendra_holla_vaderhobli.pdf.1335780379203.ver1" "mr_sudheendra_holla_vaderhobli.pdf"

但是如果存在重复文件,则命令不会执行。如果存在重复文件,我希望命令将文件名重命名为*(1).pdf*(2).pdf。我该怎么做?

答案1

## 我们也可以使用 TIMESTAMP:##

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%-%MS%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
Xcopy /s "D:\folder1\test.xls" "D:\folder2\test_%fullstamp%.xls"
pause

这是一种简单的备份方法。例如,如果您一次又一次地修改文件(例如:D:\folder1\test.xls),并且需要在多次编辑后保存一份副本(在文件夹中:D:\folder2\test.xls)。那么我们可以在文件名中使用时间戳(D:\folder2\test_%fullstamp%.xls),这样不会替换旧的备份。

相关内容