【发布时间】:2020-02-22 00:12:57
【问题描述】:
我尝试使用以下帖子中的建议;
How to stop Get-Content -wait after I find a particular line in the text file using powershell?
...但是当我按如下方式运行命令时 Get-Content 命令似乎继续(服务器名称已编辑)。 IE。当达到字符串“FATAL”时,Get-Content 继续。
Get-Content \\n------v\c$\ProgramData\Navis\center\logs\navis-apex.log -wait -Tail 1 | % {$_ ; if($_ -eq "FATAL") {break}}
【问题讨论】:
-
您的代码的唯一具体问题可能是您将单词
FATAL与整行 (-eq) 匹配,而不是寻找它作为子字符串就行了,如Jawad的回答所示。但是,您从链接帖子中引用的代码有一个重要缺陷:break并非旨在退出 管道:在没有封闭 loop 的情况下,它 退出整个脚本 - 请参阅 Jawad 的回答和 this one 了解更多背景信息。 -
感谢大家的回复,似乎已经解决了这个问题。 :)
标签: powershell