CMD 中的 Powershell 命令

CMD 中的 Powershell 命令

我有一个 CMD bat 文件,它要求用户粘贴已运行的其他程序的日志文件路径。

一旦他们这样做,我的脚本就会扫描粘贴路径中的日志,查找某些文本、警告、错误等

因此,我有下面的代码,它可以扫描目录中的所有文件以查找模式 WARNING:,并输出一个名为 的文件psout.txt,该文件显示了有问题的行文本和它发生的位置的数字。

powershell "Get-Content *.* | Select-String -Pattern WARNING: | Select-Object LineNumber, Line | out-file -filepath psout.txt"

但是,由于可能有多个日志,有没有办法修改此行代码以在行号旁边显示文件名,我尝试过basename其他变体,但就是无法成功。

我已经看到filename应该可以完成这项工作,但虽然它返回一个值,但它始终是“输入流”的值

有任何想法吗 ?

答案1

因此似乎只需要进行一点调整:

powershell "Get-Childitem -recurse | Select-String -Pattern WARNING: | Select-Object filename,LineNumber, Line | out-file -filepath '[MyPath]\psout.txt'"

相关内容