日期:2014-05-17  浏览次数:20800 次

关于批处理删除文件的问题
我想把
1. C:\Femeda FCT\In\备份一份到C:\Femeda FCT\Backup\
2. 再拷一份到z:\
3. 再删除C:\Femeda FCT\In\下面的文件。

后来就搞了下面这个

copy "C:\Femeda FCT\In\*.txt" "C:\Femeda FCT\Backup\"
copy "C:\Femeda FCT\In\*.txt" "z:\"
DEL /f/s/q "C:\Femeda FCT\In\*.txt"


但是这个里头有一个风险,因为我的C:\Femeda FCT\In\文件夹一直会有新的文件产生,当前面两行copy完成后正好有一个文件进来,我怕第三行的删除把我新进来的文件删除掉,所以我就想,删除掉我批处理执行时间前的文件,这样就不会误删除了。
或者各位大侠有什么更好的办法?

------解决方案--------------------
你备份用的 copy 命令,说明 In 下是没有子目录的?这样的话,删除文件时判定下是否已经存在于备份目录里,是才删除之。如果确实存在有子目录的,可以用 xcopy /M 从 In 备份,从 Backup 目录备份到 Z:\;删除时用 del /AA 只删除那些档案属性位被清的文件。