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选项在这种情况下没有意义,不应在此处使用。