使用.bat文件或dos命令提取目录(包括子文件夹)中的所有Zip

电子邮件

我想将所有.zip和.rars提取到一个文件夹及其子文件夹中

结构是这样的:

MAIN_FOLDER
    -A folder
        - a.zip
            -a.rar
    -B folder
        - b.zip
            -b.rar
    -C folder
        ....    
            ...

我已经尝试过了,但是没有用

FOR /D /r %%F in ("*") DO (

  pushd %CD%
 cd %%F
    FOR %%X in (*.rar *.zip) DO (
        "C:\Program Files\7-zip\7z.exe" x %%X
    )
 popd

)

我使用Windows并安装了7-Zip。

附加问题:是否可以将最后一个子目录(a.rar,b.rar)的所有提取文件保存在同一文件夹(主文件夹)中?

史蒂芬·詹宁斯

剧本:

for /F %%I IN ('dir /b /s *.zip *.rar') DO (
    "C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I"
)

解释:

for /F %%I IN ('dir /b /s *.zip *.rar') DO (

这将对命令返回的每个文件执行一个循环dir /b /s *.zip *.rar/s告诉dir以递归方式进入子目录并/b以裸格式打印。

文件名存储在%%I变量中,以备后用。如果在提示符下键入此内容,则应%I改用。

"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I"

这将执行提取。该参数-o"%%~dpI"将文件提取到归档文件所在的目录中。其他选项:

  • -o"%%~dpI" —提取到存档所在的目录。

  • -o"%%~dpnI"—在以归档文件命名的层次结构中创建一个新目录,并将其提取到其中(即AFolder\archive.zip提取到中AFolder\archive\)。

  • -o"%%~nI"—在以归档文件命名的当前目录中创建一个新目录,并将其提取到其中(即AFolder\archive.zip提取到中.\archive\)。

  • 忽略-o参数—提取到当前目录。

例子:

C:\Temp>tree /F

    Folder PATH listing
    Volume serial number is 08A4-22E0
    C:.
    │   batch.bat
    │
    ├───AFolder
    │       a.zip
    │
    ├───BFolder
    │       b.zip
    │
    └───CFolder
            c.zip



C:\Temp>batch.bat > nul


C:\Temp>tree /F

    Folder PATH listing
    Volume serial number is 08A4-22E0
    C:.
    │   batch.bat
    │
    ├───AFolder
    │       a.zip
    │       a.zip.txt
    │
    ├───BFolder
    │       b.zip
    │       b.zip.txt
    │
    └───CFolder
            c.zip
            c.zip.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Mac OS X中使用命令行“ zip”工具递归压缩目录和子目录中的文件,并从所有子文件夹中排除.DS_Store文件

如何使用Grunt压缩子文件夹/子目录中的所有JavaScript文件?

如何使用powershell提取同一文件夹中子文件夹中的所有zip文件

使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

如何使用vbscript提取特定目录的所有文件和文件夹的属性?

使用bat删除子文件夹中的文件

如何使用.gitignore忽略文件夹中的所有子文件夹

使用DOS Batch命令列出所有现有文件类型(包括子目录)

使用 .bat 移动文件夹的所有内容

使用wmic命令从文件夹中的所有文件打印文件描述

如何使用PowerShell从文件夹和所有子文件夹中删除所有访问规则?

如何使用bash将子文件夹中的所有文件移动到新文件夹中?

使用bat和7zip遍历目录zip文件夹

使用Gulp Zip压缩文件夹中的所有文件

使用 Windows 命令行复制带有文件的文件夹和子文件夹,但跳过根文件夹中的文件

我想使用powershell在临时目录中提取给定目录中的所有.zip文件

使用R将文件夹中的所有PDF和所有子文件夹复制到新文件夹

使用Biztalk中的SFTP适配器从所有子文件夹中检索文件

使用PowerShell脚本从所有30天以上的子文件夹中删除文件

使用YUI压缩器.NET压缩子文件夹中的所有JS文件

使用 pandas 读取子文件夹中的所有文件

grunt未使用-循环目录中的子文件夹

使用if命令获取文件夹的所有者

如何使用命令行将所有文件从一个文件夹移动到子文件夹(.html文件除外)?

使用find获取所有没有.git子文件夹的文件夹

如何使用bat文件回显文件夹内的所有文件?

使用PHP从文件夹中删除所有文件?

使用fd列出主文件夹中的所有目录

如何使用目录查看文件夹中的所有符号链接,连接点,硬链接?