【发布时间】:2014-05-14 21:19:15
【问题描述】:
我无法让 FORFILES 为我工作。我使用下面的一个示例运行了一个 .bat,它备份了我每天拥有的几个数据库。
COPY "X:\W Attendenance\C Crew Attendance\Attendance Control DB v4.xx.accdb" "X:\Supervisors Log\Backups\Attendance Bak\bak_%currdate%_Attendance Control DB v4.xx.accdb"
然后在运行备份后,我想使用以下示例删除超过五天的旧文件。
FORFILES /p "X:\Supervisors Log\Backups\Attendance Bak\" /d -5 /c "cmd /c del @path "
但是发生的情况是它会创建备份但从不删除旧的。我做错了什么?
Ken 它似乎仍然无法正常工作。我将@file 更改为@path 并运行,我仍然有我的备份。我还有另一个问题,我可以将删除限制为仅以 bak_ 开头的文件吗?我可以按文件名删除文件吗,因为每个备份都以 bak_ 开头,然后是日期 mm-dd-yyyy_ 然后是文件名...
【问题讨论】:
-
你不应该使用@path 代替@file 吗?
-
Batch file to delete files older than N days 的可能副本。如果您在该问题的已接受答案中查看
forfiles的使用,您会发现它应该是@path而不是@file。
标签: batch-file