windows - 归档具有特定扩展名的文件

标签 windows scripting automation

所以我需要一个 Windows 脚本,我可以告诉它一个目录,它将解析所有子目录,而在每个子目录中,将归档具有特定文件扩展名的所有文件并将其保存在同一个子目录中,然后转到下一个。

解决此问题的最佳方法是什么? Perl 自动化脚本、AutoIt?

你们有什么示例代码可以给我吗?

最佳答案

Perl 比批处理脚本更强大,但由于 Perl 未包含在 Windows 中,因此对于诸如此类的任务来说似乎有点过分了。这应该例如工作:

FOR /R C:\hello\ %%G IN (*.txt) DO "c:\Program Files\7-Zip\7z.exe" a %%G.zip %%G && del %%G

请注意,您不能直接在提示中执行此操作,您必须将其保存为 .bat 文件。当然也可以允许用户使用命令行指定路径和扩展名,如下所示:

FOR /R %1 %%G IN (%2) DO "c:\Program Files\7-Zip\7z.exe" a %%G.zip %%G && del %%G

可在此处找到有关 FOR 和其他 Windows 命令行命令的更多信息:http://ss64.com/nt/

这将运行:

test.bat C:\Hello\ *.txt

编辑:这显然需要您安装 7-Zip,但如果您想使用其他一些 zipper ,在哪里更改代码是非常明显的。还请记住,在试验此类脚本时始终要格外小心。一个小错误可能会导致它删除大量文件,因此您应该始终在文件系统的副本上对其进行测试,直到您完全确定它可以正常工作。

关于windows - 归档具有特定扩展名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745413/

相关文章:

java - 如何使用 Java 使用 Sikuli 获取图像位置?

java - 无法打开链接作为后台选项卡 - Java、Selenium、IE

c++ - 从 Windows 注册表中保存的工作区检索窗口位置

linux - "ls -Rl * > file.dat"的 Windows 命令

php - 奇怪的重写(Apache mod_rewrite)

linux - bash 中的 fork 和 exec

bash - 从 bash 读取 java .properties 文件

eclipse - 如何在开发时更改源代码时在 Eclipse/Aptana Studio 中自动重新启动 Node.js 应用程序?

r - 从源代码构建R包失败: Win10, RStudio

bash - Bash 脚本中的 for 循环在处理第一行后退出