繁体   English   中英

通过Windows命令行读取平面文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM