我正在寻找一种方法来删除批处理文件中超过 7 天的所有文件。我在网上搜索过,发现了一些包含数百行代码的示例,以及其他需要安装额外命令行实用程序才能完成任务的示例。
只需几行代码,就可以在 BASH中完成类似的事情。似乎至少可以为 Windows 中的批处理文件完成一些简单的操作。我正在寻找一种在标准 Windows 命令提示符下工作的解决方案,无需任何额外的实用程序。请不要使用 PowerShell 或 Cygwin。
享受:
forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
有关更多详细信息,请参阅forfiles文档。
forfiles
有关更多好东西,请参阅 Windows XP 命令行的 AZ 索引 。
如果您的机器上没有forfiles安装,请将其从任何Windows Server 2003复制到您的 Windows XP 机器上%WinDir%\system32\。这是可能的,因为 EXE 在 Windows Server 2003 和 Windows XP 之间完全兼容。
%WinDir%\system32\
Windows 和 Windows Server 的更高版本默认安装了它。
对于 Windows 7 和更新版本(包括 Windows 10):
语法发生了一些变化。因此更新的命令是:
forfiles /p "C:\what\ever" /s /m *.* /D -<number of days> /C "cmd /c del @path"