Batch file 如果超过x天,如何删除单个文件?
在启动程序之前,我需要删除一个文件,但这应该只在文件超过一天时才执行 此时,我总是在命令提示窗口中执行:Batch file 如果超过x天,如何删除单个文件?,batch-file,cmd,Batch File,Cmd,在启动程序之前,我需要删除一个文件,但这应该只在文件超过一天时才执行 此时,我总是在命令提示窗口中执行: del /f filepath *run program* 我知道,可以通过批处理对多个文件执行此操作: ForFiles /p "path" /d -X /c "cmd /c del @file" 但是我只想对一个特定的文件执行此操作,我必须使用forfiles吗?或者是否有另一个没有迭代的更快的选项?以下是您的代码: forfiles /p "path" /m "file name"
del /f filepath
*run program*
我知道,可以通过批处理对多个文件执行此操作:
ForFiles /p "path" /d -X /c "cmd /c del @file"
但是我只想对一个特定的文件执行此操作,我必须使用forfiles吗?或者是否有另一个没有迭代的更快的选项?以下是您的代码:
forfiles /p "path" /m "file name" /d -Number of the days older mean the value of your X days /c "cmd /c del /f /q /a @file"
你的问题中的代码是硬编码的。forfiles
的/s
开关迭代给定路径的所有子文件夹。所以这个开关没有用。而/d
开关的值会删除超过30天的文件,但您需要匿名X天。更改它们,您的代码就会工作。有关更多帮助,请启动cmd并键入forfiles/?
打开,运行forfiles/?
并阅读输出帮助。如果文件名早于X天,请使用选项/M
,以仅匹配要删除的文件。例如:forfiles/P“path”/M“file name”/D-1/C“%ComSpec%/C del/A/F@file”
。FORFILES选项在这种情况下没有意义,不应在此处使用。