什么是删除给定文件夹中超过 (n) 天的所有文件的好 Windows 命令行选项?
另请注意,这些文件可能有数千个,因此在这里forfiles
使用 shellcmd
并不是一个好主意。除非您喜欢生成数千个命令 shell。我认为这是一个非常讨厌的 hack,所以让我们看看我们是否可以做得更好!
理想情况下,Windows Server 2008 中内置(或易于安装)的东西。
什么是删除给定文件夹中超过 (n) 天的所有文件的好 Windows 命令行选项?
另请注意,这些文件可能有数千个,因此在这里forfiles
使用 shellcmd
并不是一个好主意。除非您喜欢生成数千个命令 shell。我认为这是一个非常讨厌的 hack,所以让我们看看我们是否可以做得更好!
理想情况下,Windows Server 2008 中内置(或易于安装)的东西。
我环顾四周,发现了一种 powershell 方式:
从指定文件夹中删除所有超过 8 天的文件(带预览)
(删除 -whatif 使其发生)
喜欢 Jeff 的 PowerShell 命令,但对于没有 PowerShell 的 Windows 机器的替代 vbs 解决方案,您可以尝试以下操作。
另存为
<filename>.vbs
并执行:第三个参数,
[Action]
可选。<NoDaysSinceModified>
没有它,将列出比它更早的文件。设置为D
它将删除早于<NoDaysSinceModified>
例子
将列出
c:\Log Files
8 天前的所有文件将删除
c:\Log Files
超过 8 天的所有文件注意:这是SQLServerCentral.com上的 Haidong Ji 脚本的修改版本
不是真正的命令行,但我喜欢使用LINQPad作为 C# 脚本主机:(
这只是给了我一个命令行 C# 脚本的想法 à la vbs 文件)
看看这个http://sourceforge.net/projects/delold因为这是我使用的。
简单但有效。delold -d 14删除当前文件夹中超过 14 天的文件。
使用 cygwin 的(或其他替代方法)“查找”命令可以实现类似的功能。但这需要您安装 cygwin 或手头有便携式版本。
我在 powershell 之前使用的另一种选择:
http://lifehacker.com/133190/geek-to-live--hard-drive-janitor
我使用 autoIT 在我的系统上完成此任务。我喜欢您可以轻松地将 .au3 文件编译为 exe。引入安全漏洞不像任何人都可以编辑的 bat 文件那样容易。