【问题标题】:Zip files with same name on Windows using batch script使用批处理脚本在 Windows 上压缩同名文件
【发布时间】:2016-12-31 06:41:15
【问题描述】:

假设我们有:

  • 一些迪尔
    • file1.eps
    • file1.jpg
    • file2.eps
    • file2.jpg

我想要做的是,获取每个 eps、jpg 夫妇的 zip 名称,例如:

  • 一些迪尔
    • file1.zip
    • file2.zip

我不知道该怎么做。有什么建议吗?

【问题讨论】:

    标签: windows batch-file zip


    【解决方案1】:

    你可以在 WinRAR 的帮助下轻松完成:

    @setlocal
    @echo off
    set path="C:\Program Files\WinRAR\";%path%
    forfiles /s /m *.jpg /C "cmd /c winrar.exe a -afzip "@fname.zip" "@fname.eps" "@fname.jpg"
    pause
    

    【讨论】:

    • 你为什么使用forfiles命令而不是标准的for命令,后者更快?
    【解决方案2】:

    这是我使用 Windows 原生 zip.exe 的示例。它仅在当前目录中查找 *.eps 文件(因为您有一对具有相同名称和不同扩展名的文件),然后它提取文件名,添加 .eps 和 .jpg 扩展名并以相同的名称压缩它们。

    for /r %i in (*.eps) do zip %~ni.zip %~ni.eps %~ni.jpg
    

    如果你写在脚本里面,那么用 %%i 写成白色

    for /r %%i in (*.eps) do zip %%~ni.zip %%~ni.eps %%~ni.jpg
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      相关资源
      最近更新 更多