使用文件夹中 space(s) 的 7zip 提取存档文件

Extract archive file using 7zip with space(s) in the folder

我想使用下面的批处理提取文件夹和子文件夹中的所有 7z 文件。

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

但如果文件夹路径之间有一个space,则批处理无效。

示例:

X |-- a |-- 1.7z |-- b c |-- 2.7z

文件夹 b c 中的 2.7z 将不会被提取。

我可以知道如何忽略 space 吗?

for /F "DELIMS=" %%I IN ('dir /b /s *.7z ') DO (

关闭分隔符。默认情况下,space 是分隔符,因此 %%I 设置为(到第一个分隔符的字符串)