做文件备份需要的批处理
我一直兼职搞公司的TFS管理,在做离线备份的时候,有几个批处理比较有用:
1、循环处理(比如删除、拷贝)某个目录下的所有文件(不递归):
forfiles /p e:\TFSFullBackup /s /C "cmd /c copy @file \\172.16.254.149\TFSBackup\TFSFullBackup" /D 0 >> d:/tools/log/log.txt
表示把e:\TFSFullBackup下的所有文件执行cmd /c copy @file \\172.16.254.149\TFSBackup\TFSFullBackup这条指令。
forfiles /p B:\TFSFullBackup /s /C "cmd /c del @file" /D -8 >> d:/tools/log/log.txt
表示对B:\TFSFullBackup目录下的日期早于8天前的所有文件执行指令:cmd /c del @file
注意:forfiles不支持对UNC路径下的文件夹进行迭代操作,所以上述的B:盘实际上是映射的\\172.16.254.149\TFSBackup这个网络路径。
2、xcopy
xcopy e:\symserver d:\symserverback\symserver /E /Y
拷贝e:\symserver到d:\symserverback\symserver,/E表示拷贝空目录,/Y表示直接覆盖。
xcopy会自动递归。