[英]Reading flat file via windows command line
我有下面的平面文件
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 \\ automation \\ test2.txt | findstr“ 4:ETL名称:”:
回声%eplan%仅给出%eplan%
我是Windows命令行的新手,如果我做错了什么,请纠正我。 我的最终目的是将其存储在变量中。 谢谢!
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
不包含在分配值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.