Batch file 对于“F/F循环投掷”;命令的语法不正确";

Batch file 对于“F/F循环投掷”;命令的语法不正确";,batch-file,for-loop,Batch File,For Loop,几天来一直在努力解决这个问题,希望这里的社区能够提供帮助。在批处理中运行以下命令会生成“该命令的语法不正确”,我认为它可能是反引号位置,但我似乎无法找到正确的引号组合。非常感谢您的帮助:) 我试图使用For循环启动7-zip并读取.zip文件的内容(它只包含一个同名的文本文件“FHNVPROV.XXX.0704.txt”),找到该.txt文件名并将其输出到一个变量 从命令行运行时,这两个命令都可以自行工作。我甚至可以通过命令行让它们正确运行。而且,根据我对quote placement和useb

几天来一直在努力解决这个问题,希望这里的社区能够提供帮助。在批处理中运行以下命令会生成“该命令的语法不正确”,我认为它可能是反引号位置,但我似乎无法找到正确的引号组合。非常感谢您的帮助:)

我试图使用For循环启动7-zip并读取.zip文件的内容(它只包含一个同名的文本文件“FHNVPROV.XXX.0704.txt”),找到该.txt文件名并将其输出到一个变量


从命令行运行时,这两个命令都可以自行工作。我甚至可以通过命令行让它们正确运行。而且,根据我对quote placement和usebackq的实验,我已经能够让上面的部分工作,这就是为什么我觉得这是我在这里的关键。谢谢大家!:)

在我告诉您这里有什么问题之前,我假设您打算使用正则表达式
\
(这里有
在我告诉您这里有什么问题之前,我假设您打算使用正则表达式
\
(有一个
你试过用
\FHNVPROV\^>
@DennisvanGils替换
\FHNVPROV\>
吗?这不会改变任何事情,因为
位于一对
之间“
”;但是,我猜OP打算使用
”\“
…您是否尝试过将
\FHNVPROV\>
替换为
\FHNVPROV\^>
@DennisvanGils,这不会改变任何事情,因为
位于一对
之间”
;但是,我猜OP打算使用
”\"
…我试图在评论中建议转义引号,但反斜杠打乱了内联代码语法。因此,我决定编辑您的答案。非常感谢,@dbenham!如果您发布了自己的答案,我肯定会投赞成票,因为这是最方便的解决方案…感谢所有人的帮助和令人敬畏的电子邮件解释!今天学到了一两件事:)非常感谢!欢迎您的回答!请考虑接受这个答案,如果它对您有帮助,并且完全解决了您的问题……我试图在注释中建议漏掉的引文,但是反斜杠弄乱了在线代码语法。所以我决定编辑您的答案。非常感谢,dBehan.如果您已经发布了您自己的ANSWE。R,我一定会赞成它,因为这是最方便的解决方案…谢谢大家的帮助和可怕的解释!今天学到了一两件事:非常感谢!欢迎你的到来!请考虑接受答案,如果它对你有帮助,并且完全解决你的问题……
FOR /F "USEBACKQ TOKENS=* DELIMS=" %%d IN (`"C:\PROGRAM FILES\7-Zip\7z.exe" l C:\TEST\FHNVPROV.XXX.0704.zip -slt ^| FINDSTR /s /i "\FHNVPROV\>"`) DO (SET "NAME=%%d")
FOR /F "USEBACKQ TOKENS=* DELIMS=" %%d IN (`"C:\PROGRAM FILES\7-Zip\7z.exe" l "C:\TEST\FHNVPROV.XXX.0704.zip" -slt ^| FINDSTR /s /i "\<FHNVPROV\>"`) DO (SET "NAME=%%d")
FOR /F "USEBACKQ TOKENS=* DELIMS=" %%d IN (`C:\PROGRA~1\7-Zip\7z.exe l "C:\TEST\FHNVPROV.XXX.0704.zip" -slt ^| FINDSTR /s /i "\<FHNVPROV\>"`) DO (SET "NAME=%%d")
FOR /F "USEBACKQ TOKENS=* DELIMS=" %%d IN (`""C:\Program Files\7-Zip\7z.exe" l "C:\TEST\FHNVPROV.XXX.0704.zip" -slt | FINDSTR /s /i "\^<FHNVPROV\^>""`) DO (SET "NAME=%%d")
FOR /F "USEBACKQ TOKENS=* DELIMS=" %%d IN (`^""C:\Program Files\7-Zip\7z.exe" l "C:\TEST\FHNVPROV.XXX.0704.zip" -slt ^| FINDSTR /s /i "\<FHNVPROV\>"^"`) DO (SET "NAME=%%d")