windows - 批处理 : Parse a multiline string

标签 windows parsing batch-file for-loop

我需要一个简单的批处理脚本来解析这个字符串并从中获取文件名:

OTR-Tool, v1.1.0
&FN=Filename.avi
&FH=EAA7508AAAD86AA4D8FAAE404BAFFA8729AA9C80AA4C8CBA
&OH=7FA2FAB108329105401003EAE224721BAFFA962E98F72750
&Sw=FALSE
&SZ=1198525032
&H=426060A8B8829808B8EAB802B0926082

我试过这个:

for /f "tokens=1,2 delims==" %%A in ('%~dp0otrtool\otrtool.exe %1') do if "%%A"=="&FN" set FN=%%B

但这行不通。我只是得到了整个输出。快速帮助某人?

upd 我也尝试执行以下命令

otrtool.exe filename.key | find "&FN"

但我又得到了整个输出。

最佳答案

for /f "tokens=1,2 delims==" %%A in ('%~dp0otrtool\otrtool.exe %1 2^>^&1') do if "%%A"=="&FN" set FN=%%B

像那样尝试。

关于windows - 批处理 : Parse a multiline string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024036/

相关文章:

ruby - Process.spawn 中的 "wrong first argument"异常

PHP获取外部页面内容

java - 如何在 Lucene QueryParser 中指定两个字段?

iphone - SBJSON 解析器在第二次尝试时不起作用

windows - 通过批处理命令全屏?

c++ - 字符数组到 LPCSTR

python - 如何访问使用 anaconda 提示符安装的 vim?

c - 是否有在 Windows 上的 C 中使用 winhttp 的完整示例?

batch-file - 批处理 - 检查变量是否与列表中的任何项目匹配

Windows 命令行/shell - 丢弃 UTF-8 BOM