从变量捕获文本到批处理文件中的另一个变量

时间:2016-06-02 18:35:02

标签: batch-file command-line

我有一个运行某些命令的批处理文件,但有时这些命令会输出错误代码。我想让我的脚本在获取特定的错误代码时自动执行一些操作,这可以通过if语句等轻松完成 - 我的问题是我不确定如何从文本中生成的文本中捕获错误代码命令已运行。

目前,该脚本将命令的整个输出保存到名为ato的变量中。在这个变量里面,在'包围的文本中间有错误代码。我想我可以在我想要创建的变量中使用这些撇号作为分隔符,但我不确定如何去做。我发现了一些线程似乎指向了我的方向,但是我无法让它们工作,我是批处理脚本的新手。

我正在使用的字符串如下所示: An error has occurred, error code '0x00000000'. Please try again.

字符串可以是不同的长度,以及错误,我只需要将撇号内的所有信息提取到第二个变量中。

1 个答案:

答案 0 :(得分:1)

我在Aacini的windows-batch-file-split-string-with-string-as-delimiter找到了我的问题的解决方案,但稍微改了一下。我的解决方案:

for /F "tokens=2 delims='" %%a in ("%ato%") do (
   echo %%a
)

Tokens = 2只获取拆分字符串中的第二个字符串。