【问题标题】:Use drag and drop function to select multiple files and process all使用拖放功能选择多个文件并处理所有
【发布时间】:2016-07-21 20:23:22
【问题描述】:

我需要一种方法来选择带有复选框的多个文件并将它们全部拖到批处理文件图标上。脚本的第一步是将它们压缩成一个 zip 文件,然后再继续下一步。如果可能的话,将每个文件都放在一个单独的 zip 中进行存储也是很有用的。

我不确定如何处理 for:to 命令以允许将所有选定文件收集到脚本中的单个 zip 文件中。如果我选择复制的所有文件并将它们粘贴到 Windows ZF 文件类型,Windows 的“sendto 压缩 zip”功能可以完美运行。但我不知道如何从批处理中访问它。

【问题讨论】:

  • 您需要发布一些代码,表明您为此付出了一些努力,否则您将不会得到任何有意义的响应。话虽如此,我将发布一个具有良好起点的答案,但这不是一个完整的解决方案。

标签: windows variables batch-file for-loop


【解决方案1】:

拖放多个文件

默认情况下,如果将文件拖到批处理文件上,则与将文件路径作为参数传递相同。这可以使用%%1 访问。拖动多个文件会产生类似的效果,就像调用test.bat file1.txt file2.txt file3.txt。每个“参数”都可以使用后续变量访问,%%1%%2%%3 等,直到 %%9

Get more information here.

压缩文件

首先,您需要一个支持命令行操作的实用程序,例如7-zip。在路径中拥有适当的可执行文件后,您将需要查看有关如何从命令行压缩文件的文档。您将使用上面提到的变量,而不是使用路径和文件名。

这是一些伪代码:

zipfiles output.zip %%1 %%2 %%3 %%4 %%5

备注

  • 您不能删除超过 9 个文件。
  • 您可能需要确认每个变量都存在。如果您尝试在 zip 命令中包含 %%9 但只删除了 8 个文件,则可能会出现错误。

【讨论】:

  • 当我选择多个文件并单击 sendto: Zip 时,它们都被处理成一个 zip,这对于主要需求来说是更可取的。但我看不到在脚本中访问 ZF 文件类型的方法。
  • 什么是采埃孚?如果您使用 Windows“发送到”压缩文件夹,它会创建一个 .ZIP 文件。这就是你想做的对吗?将一堆文件压缩成一个 ZIP 文件?
猜你喜欢
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 2013-01-18
相关资源
最近更新 更多