我想重复* nix watch
功能,如johnrizzo1here所提供的。如何强制隐含的PowerShell格式表重复标题重复输出?
function Watch {
[CmdletBinding(SupportsShouldProcess=$True,ConfirmImpact='High')]
param (
[Parameter(Mandatory=$False,
ValueFromPipeline=$True,
ValueFromPipelineByPropertyName=$True)]
[int]$n = 10,
[Parameter(Mandatory=$True,
ValueFromPipeline=$True,
ValueFromPipelineByPropertyName=$True)]
[string]$command
)
process {
$cmd = [scriptblock]::Create($command);
While($True) {
Clear-Host;
Write-Host "Command: " $command;
$cmd.Invoke();
sleep $n;
}
}
}
Export-ModuleMember -function Watch
watch -n 1 '$PSVersionTable.PSVersion'
问题是只有第一次运行会显示标题。在这之后是长相丑陋的头正在从输出剥离:
Command: $PSVersionTable.PSVersion
5 0 10586 117
所有其他PS解决watch
在上面的链接从有同样的问题的方式。
这适用于临时命令,我可以增加明确的格式-表。这不适用于通用命令。 –
因此,表头被写入一次,然后你清理屏幕来做一些事情PowerShell并不是真的。 –
玩得开心, –