我有下面的平面文件
ETL details for the last run:
ETL Process Id : 23396187
ETL Name : MY_WORKFLOW
Run Name : MY_WORKFLOW: ETL Run - 2014-06-26 .....我正在使用下面的代码来读取它
如果我运行下面的
findstr /n . D:\MR\BOK\automation\test2.txt | findstr"4:ETL Name:":输出为4:ETL Name: MY_WORKFLOW
但是当我将它设置为变量并回显时,它并没有给我任何东西。
设置eplan=findstr /n。D:\MR\BOK\自动化\test2.txt\ findstr"4:ETL名称:“: echo %eplan%刚刚给出%eplan%
我是windows命令行的新手,如果我做错了什么,请纠正我。我的最终目标是将它存储在一个变量中。谢谢!
发布于 2014-06-27 05:05:55
for /f "delims=" %%a in (`findstr /n . D:\MR\BOK\automation\test2.txt ^| findstr "4:ETL Name:" `) do set "eplan=%%a"(未经测试)
应该正确设置eplan (或至少设置为指定的字符串)
for /f循环中的单引号字符串作为命令执行,for接收输出。delims=""子句关闭默认分隔符集。行文本被应用于元级%%a。管道前面的插入符号(^)告诉批处理,管道是要执行的引号命令的一部分,而不是for的一部分。
set "var=value"语法确保在value之后行上的任何尾部空格(某些编辑器可能留下的)不包括在赋值中。
https://stackoverflow.com/questions/24443649
复制相似问题