Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 批处理递归for/f循环中的引号未解析_Parsing_Batch File_For Loop_Recursion_Escaping - Fatal编程技术网

Parsing 批处理递归for/f循环中的引号未解析

Parsing 批处理递归for/f循环中的引号未解析,parsing,batch-file,for-loop,recursion,escaping,Parsing,Batch File,For Loop,Recursion,Escaping,我有个问题。这有点难以解释,所以我只展示代码 for /r "%1" %%X in (*) do ( REM ... for %%Y in (some strings here) do ( REM ... for /f "delims=" %%Z in ('"%ProgramFiles%\7-Zip\7z" l -slt "%2"^|findstr /c:"Packed Size = "') do ( REM ... the

我有个问题。这有点难以解释,所以我只展示代码

for /r "%1" %%X in (*) do (
    REM ...
    for %%Y in (some strings here) do (
        REM ...
        for /f "delims=" %%Z in ('"%ProgramFiles%\7-Zip\7z" l -slt "%2"^|findstr /c:"Packed Size = "') do (
            REM ... the line above is causing the problem.
            echo %%Z
            )
        )
    REM ...
    )
)
基本上,7-Zip路径周围的引号没有被正确解析,我尝试了几种不同的插入符号和引号组合,但它们都会引发各种错误。我知道,巴奇从来没有打算做这种事情,但有什么办法让它发挥作用吗

编辑:将7-zip可执行文件复制到批处理位置的文件夹(不带空格)中可以使其正常运行,因此确实如此,但我希望避免同一程序的多个副本。

使用一些小技巧:

for /f "delims=" %%Z in ('call "%ProgramFiles%\7-Zip\7z" l -slt "%2"^|findstr /c:"Packed Size = "') do ( echo %%Z )

嘿,真不敢相信我没想过要试试这个!你没有回答我之前的一个问题吗?哦,结果它没有完全按照我想要的方式工作。对不起,我应该说得更具体些。
    "%ProgramFiles%\7-Zip\7z" l -slt "%2"|for /f "delims=" %%Z in ('findstr /c:"Packed Size = "') do (
        REM ... the line above is causing the problem.
        echo %%Z
        )