批处理文件。从多行文本中获取一个字符

时间:2013-02-07 21:36:46

标签: batch-file

我在.txt文件中有这个文本

Job Status  : RUN OK (1)
Job Controller  : not available
Job Start Time  : Thu Feb 07 15:13:47 2013
Job Wave Number : 4
User Status : not available
Job Control : 0
Interim Status  : NOT RUNNING (99)
Invocation ID   : not available
Last Run Time   : Thu Feb 07 15:13:53 2013
Job Process ID  : 0
Invocation List : Param_Test_Job
Job Restartable : 0

有没有办法我可以在第1行的()之间得到数字1(在RUN OK之后)以使用条件逻辑下游。我试图在批处理文件中实现这一点。

(这个数字将始终位于第一行,“Job Status”文本也将始终存在)

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

无论作业状态出现在哪一行,这都可以。如果“作业状态”出现多次,则会显示上次出现的值。

@echo off
for /f "tokens=2 delims=()" %%N in (
  'findstr /bc:"Job Status" test.txt'
) do set "result=%%N"