相关疑难解决方法(0)

使用PowerShell递归删除文件

我需要根据上次访问时间删除所有文件(在所有文件夹和子文件夹中递归).

我正在查看Stack Overflow post Batch文件,删除超过N天的文件,建议这个答案:

forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
Run Code Online (Sandbox Code Playgroud)

但是,这会根据上次修改时间而不是上次访问时间删除文件.

还有,有没有办法将命令保存在脚本文件中,所以我可以双击它来运行?

powershell windows-server-2008

4
推荐指数
1
解决办法
8672
查看次数

递归搜索子文件夹并删除子文件夹中超过6个月的所有文件

我们有这样的目录结构

..\文档名称_存档\YYYY\月份名称

例如,我们有许多子文件夹(在不同的文档名称文件夹中),名为 \2014\January ... 等

我们想要删除创建日期超过 180 天的所有文件夹及其内容。

我们更愿意只使用批处理文件脚本,但如果我们需要递归搜索,也许 VBScript 更好。

请问最好的办法是什么?

vbscript command-line batch-file dir delete-file

2
推荐指数
1
解决办法
5774
查看次数

编写批处理文件以删除所有文件

有人可以告诉我如何编写一个批处理文件,我可以附加到一个计划任务,该任务将删除超过2周的IIS日志.

batch-file

1
推荐指数
1
解决办法
9925
查看次数

1
推荐指数
2
解决办法
2万
查看次数

Windows批处理文件删除超过X天的文件,但留下最少的X个文件

我看到旧帖子可以删除超过X天的文件,例如这个批处理文件可以删除超过N天的文件.我想为此添加一个额外的过滤器,这样如果我运行的备份没有发生2周,那么它就不会删除我的所有备份.

我知道这个:

forfiles -p "C:\what\ever" -s -m *.* -d <number of days> -c "cmd /c del @path"
Run Code Online (Sandbox Code Playgroud)

您可以删除超过X天但是如何添加上述条件并让它在删除之前留下最少的Z文件?

例:

假设我想删除超过14天的文件,但至少保留5个文件,其中包含以下文件:

Jan 1 - backup1.zip
Jan 2 - backup2.zip
Jan 3 - backup3.zip
Jan 4 - backup4.zip
Jan 5 - backup5.zip
Jan 6 - backup6.zip
Jan 7-20 no backups done
Jan 21st - script runs and removed old files
Run Code Online (Sandbox Code Playgroud)

使用示例代码删除超过14天的所有文件,我的所有备份文件都将被删除,而且我没有备份.我希望脚本看到只剩下6个文件,并保留至少5个文件.

合理?这可能通过Windows批处理文件?

提前致谢!

为了清晰

这是我的批处理文件的一部分:

cd /d %BKUPDIR%
FOR /f "skip=14 delims=" %%A IN ('DIR /a:-d /b /o:-d /t:c %1*.zip …
Run Code Online (Sandbox Code Playgroud)

windows batch-file

1
推荐指数
1
解决办法
4558
查看次数

批处理文件逻辑可根据文件名中的日期删除文件

我现在有一个看起来无害的要求放在.bat文件中,我是第一次处理批处理代码...在这里找到一个处理类似内容的页面 ,但它以修改后的日期为参考。

在特定的文件夹X中,通过解析文件名删除所有早于N天的文件。其中文件名格式为Name_YYYYMMDD.log

但是请注意:1.不想以上次修改日期作为参考(其他程序/应用可能已访问/修改了日志)2.没有安装其他实用程序的权限。

编辑:

  • FORFILES命令可以很好地完成此工作(但唯一的缺点是它以“修改日期”为参考)
  • 将Aacini的以下脚本调整为规格后,可以正常工作。
  • 由于其他条件使整个方案更加复杂,我们决定放弃批处理,而在Powershell或AutoIT中进行处理。

谢谢!。

batch-file

0
推荐指数
1
解决办法
2689
查看次数

Windows批处理文件,用于删除超过X天的文本文件

之前已经提出过这个问题,我正在引用与此处建议相同的答案.但事实是,这在Windows 7终极版中运行良好,而相同的代码在Windows Server 2008 R2中无法正常工作.如果它找到任何比特定日期更早的文件,它会从文件夹中删除所有文本文件,但如果找不到任何比特定日期更早的文本文件,它就不会执行任何操作.命令如下;

REM Remove text files older than 5 days
forfiles -p "E:\Backups" -s -m *.* -d -5 -c "cmd /c del E:\Backups\*.txt"
Run Code Online (Sandbox Code Playgroud)

我也看过其他帖子,但我找不到这个特别的问题.如果有人在此之前遇到过这种情况,或者如果我在这里做错了,请建议解决方案,谢谢.

windows batch-file

0
推荐指数
1
解决办法
1万
查看次数