如何使用批处理文件重命名现有文件以进行备份?

Posted

技术标签:

【中文标题】如何使用批处理文件重命名现有文件以进行备份?【英文标题】:How to rename existing files using a batch file for backup purpose? 【发布时间】:2008-11-15 10:32:01 【问题描述】:
pkzip25 -add=all -dir=current -silent -locale -exclude=DistData.zip -exclude=extract.bat -exclude=run.bat -exclude=pkzip25.exe -exclude=extracted.txt -exclude=zipped.txt -exclude=.\STORE DistData.zip *.*
pkzip25 -view -directories DistData.zip >zipped.txt

copy DistData.zip ..\BKX\DistData_1.zip
cd ..\BKX
rename DistData_1.zip DistData_2.zip 
rename DistData_2.zip DistData_3.zip
rename DistData_3.zip DistData_4.zip
rename DistData_4.zip DistData_5.zip

【问题讨论】:

你能用问题的形式表达你的问题吗?!?! 【参考方案1】:
rename DistData_1.zip DistData_2.zip 
rename DistData_2.zip DistData_3.zip
rename DistData_3.zip DistData_4.zip
rename DistData_4.zip DistData_5.zip

错了,你得用相反的顺序,先把最后一个删掉:

del DistData_5.zip
rename DistData_4.zip DistData_5.zip
rename DistData_3.zip DistData_4.zip
rename DistData_2.zip DistData_3.zip
rename DistData_1.zip DistData_2.zip 

也许还会移动 DistData.zip 而不是复制,所以如果你创建一个新的 zipfile,它就不存在了。

move DistData.zip ..\BKX\DistData_1.zip

但我不知道这是否是您的问题。

编辑: 如果您想保留 5 个 zipfile(而不是 4 个),我建议如下:

del DistData.zip >NUL 2>&1
pkzip25 -add=all -dir=current -silent -locale -exclude=DistData.zip -exclude=extract.bat -exclude=run.bat -exclude=pkzip25.exe -exclude=extracted.txt -exclude=zipped.txt -exclude=.\STORE DistData.zip *.*
pkzip25 -view -directories DistData.zip >zipped.txt

move DistData.zip ..\BKX
cd ..\BKX
del DistData_5.zip
rename DistData_4.zip DistData_5.zip
rename DistData_3.zip DistData_4.zip
rename DistData_2.zip DistData_3.zip
rename DistData_1.zip DistData_2.zip 
rename DistData.zip DistData_1.zip 

这样你总是有 5 个备份副本。

【讨论】:

以上是关于如何使用批处理文件重命名现有文件以进行备份?的主要内容,如果未能解决你的问题,请参考以下文章

如何重命名文件并覆盖 VBS 中的现有文件?

将文件复制到另一个文件夹,在目的地重命名并覆盖现有文件

如何创建批处理文件以重命名文件夹中的大量文件?

通过网络使用批处理重命名文件

如何以照片的拍摄时间批量重命名文件

如何在将通用工件上传到jenkins管道中的JFrog Artifactory时重命名现有文件夹