Bereitstellung的图像工具
版本:10.0.17763.1
Abbildversion:10.0.17763.253
Funktionsliste:
Funktionsidentität:Browser.InternetExplorer ~~~~ 0.0.11.0
状态:Nicht vorhanden
Funktionsidentität:Hello.Face.17658 ~~~~ 0.0.1.0
状态:Installiert
Funktionsidentität:Hello,Face.Migration.17658 ~~~~ 0.0.1.0
状态:Installiert
Funktionsidentität:Language.Basic ~~~ af-ZA〜0.0.1.0
状态:Nicht vorhanden
我要输出下一行包含Status: Installiert
的行。
我知道如何查找包含字符串Installiert
的行,但不知道如何在比赛之前包含整行。
答案 0 :(得分:1)
此写入批处理文件的命令行可用于此任务:
@for /F "usebackq delims= eol=" %%I in ("TextFile.txt") do @for /F "tokens=2 eol= delims=: " %%J in ("%%~I") do @if "%%~J" == "Installiert" (call echo(%%Line%%) else set "Line=%%I"
外部 FOR 将"
解释为行尾字符。因此,以"
开头的行将被外部 FOR 忽略。
内部的 FOR 将空格字符解释为行尾字符,这在这里无关紧要,因为空格字符也是定界符。首先通过 FOR 进行行拆分,结果是删除行首的所有空格和冒号,因此这里作为行尾字符的空格是没有问题的。
感谢您转到aschipfl,以获取有关带有指定选项的上述两个 FOR 如何处理指定文本文件中的行的这些附加信息。
更好的是:
@for /F usebackq^ delims^=^ eol^= %%I in ("TextFile.txt") do @for /F "tokens=2 delims=: eol=" %%J in ("%%~I") do @if "%%~J" == " Installiert" (call echo(%%Line%%) else set "Line=%%I"
外部 FOR 使用空的字符串定界符列表运行,并且没有行尾字符。内部的 FOR 也没有行尾字符运行,只是用冒号作为字符串定界符,这就是比较字符串开头的空格字符的原因。
在执行时,在包含已发布行的当前目录中的文件TextFile.txt
上输出的两个命令行:
Funktionsidentität : Hello.Face.17658~~~~0.0.1.0
Funktionsidentität : Hello.Face.Migration.17658~~~~0.0.1.0
要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读每个命令显示的所有帮助页面。
call /?
echo /?
for /?
if /?
set /?