![使用 cmd 重命名文件并允许重复的文件名](https://linux22.com/image/1433213/%E4%BD%BF%E7%94%A8%20cmd%20%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%E5%B9%B6%E5%85%81%E8%AE%B8%E9%87%8D%E5%A4%8D%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D.png)
我有一个由以下命令组成的批处理文件。
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),这样不会替换旧的备份。