【问题标题】:Compress only first subFolder in mainFolder to a new folder仅将 mainFolder 中的第一个子文件夹压缩到新文件夹
【发布时间】:2015-05-25 23:35:33
【问题描述】:

使用 WinRAR 命令行 (C:\Program Files\WinRAR\Rar.exe),我要做的是将主文件夹 (C:\Users\%username%\desktop\mainFolder) 中的单个文件夹压缩到新文件夹 (C:\Users\%username%\desktop\newFolder ) 并删除主文件夹中压缩后的单个文件夹。

所以每次我启动 .bat 时,ONLY第一个子文件夹都会被压缩

  • C:\Users\%username%\mainFolder
    • singleFolder1
    • singleFolder2
    • singleFolder3

到目前为止,这只适用于主文件夹中的所有文件夹

c:
cd \Users\%username%\Desktop\newFolder
"C:\Program Files\WinRAR\Rar.exe" a -ep1 -mt5 -m1 -v50M -r "!_RndAlphaNum!" C:\Users\%username%\Desktop\mainFolder\

!_RndAlphaNum! 是因为我在批处理启动时使用了一个代码,它为 .rar 档案生成随机名称。

【问题讨论】:

    标签: batch-file compression directory rar


    【解决方案1】:

    这类似于Using a loop to rar multiple subfolders in a main folder,因此可以轻松实现

    @echo off
    for /D %%F in ("%USERPROFILE%\mainFolder\*") do (
        "%ProgramFiles%\WinRAR\Rar.exe" m -ep1 -mt5 -m1 -v50M -r "%USERPROFILE%\desktop\newFolder\%_RndAlphaNum%" "%%~F"
        goto Done
    )
    :Done
    

    命令goto Done 导致在处理第一个目录后中断FOR 循环并继续标签Done 下的批处理作业。

    再次使用命令 m 代替 a 来存档,然后删除打包到直接在目标文件夹中创建的存档文件中的所有文件和文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多