相关疑难解决方法(0)

批处理如何将FINDSTR结果设置为变量并禁用findstr打印到控制台

我的批处理程序

FINDSTR  /C:"Result Comparison failure"  %tmp_result_file% 
Run Code Online (Sandbox Code Playgroud)

我想做folloiwng,将上面命令的结果设置为变量.如果找到,将第一行设置为varible或将所有找到的行设置为varible对我来说没问题.

上面的命令也会打开findstr命令来控制甚至@echo.有什么方法可以禁用打印.

非常感谢


我的脚本的一部分,我所做的是在源文件的每一行上运行命令,并将运行结果放入tmp文件,然后使用find str查找失败的字符串以检查运行结果.

for /f  %%a in (%source_file%) do (
    echo  run %%a >> %output_file%
    call  %run_script_command% %%a > %tmp_result_file% 2>&1
    ::notepad %tmp_result_file%
      for /f %%i in ('FINDSTR /C:"Result Comparison failure"  %tmp_result_file%') do  echo %%ixxx
    echo xx
)
Run Code Online (Sandbox Code Playgroud)

很奇怪,结果是:

    xx
    Resultxxx
    xx

背景是我有两个项目%source_file%,所以运行2次.
对于第一个,FINDSTR找不到任何东西,所以打印xxx
第二个,它在findstr中找到一个,但只打印" Result"而不是" Result Comparison failure",xx在结果之前打印.很奇怪!

batch-file

11
推荐指数
1
解决办法
6万
查看次数

标签 统计

batch-file ×1