Powershell cmd 跟踪目录中的文件

Red*_*ddy 3 powershell tail

我正在寻找Powershellcmd 来打印目录中任何文件的最后 5 行数据。

理想情况下

Get-Content -Tail 5 -Wait .\test.log

将在最后 5 行的特定文件上打印尾部。如果有任何新内容被附加到该文件,它将继续打印。

同样,我想跟踪目录中的所有文件。如果任何文件被修改,则打印内容。

试过这样的东西,没有用!

Get-Content -Tail 5 -Wait .\folder*.log

Cob*_*ter 5

虽然您可以使用-Tail多个文件,但-Wait仅使用第一个文件时将报告它的更改。但是,如果您使用工作流并并行运行命令,这是可能的。

# Get-Tail.ps1
Workflow Get-Tail
{
    param (
        [string[]]$Path,
        [int]$Tail
    )

    foreach -parallel ($File in $Path) {
        Get-Content -Path $File -Tail $Tail -Wait
    }
}
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

. .\Get-Tail.ps1
$files = (dir .\folder*.log).FullName
Get-Tail -Path $files -Tail 5
Run Code Online (Sandbox Code Playgroud)