Powershell可在任何按键时中断等待

Powershell可在任何按键时中断等待,powershell,Powershell,我有以下命令 Get-Content -Path out.log -Wait 它读取文件并等待 我想打破任何按键的等待(或一个特定的键,没有关系) 可能吗 更新 Ctrl+C不是一个选项,因为我无法摆脱“终止批处理作业(Y/N)”消息。最接近的方法是生成另一个PowerShell进程,并在按下某个键时终止该进程。或者,用户可以在完成后简单地关闭新shell # Start Get-Content -Wait # Get the Process ID. $command = 'get-cont

我有以下命令

Get-Content -Path out.log -Wait
它读取文件并等待

我想打破任何按键的等待(或一个特定的键,没有关系)

可能吗

更新


Ctrl+C不是一个选项,因为我无法摆脱“终止批处理作业(Y/N)”消息。

最接近的方法是生成另一个PowerShell进程,并在按下某个键时终止该进程。或者,用户可以在完成后简单地关闭新shell

# Start Get-Content -Wait
# Get the Process ID. 
$command = 'get-content -path "C:\Users\Michael\Desktop\Vim\temp.txt" -Wait'

$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
$psProcess = Start-Process -FilePath pwsh -ArgumentList "-EncodedCommand",$encodedCommand -PassThru

# Wait for input. 
Write-Host "Press any key to to kill Get-Process -Wait."
$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | Out-Null 

# Kill process.
$psProcess.Kill()
如果做不到这一点,可能会有其他方法来解决你的问题

你为什么问这个问题?或者这个问题的背景是什么

您仅显示
Get Content-Wait
cmdlet。仅此一项不会生成终止批处理作业。还有什么代码正在运行


还有其他可用的尾巴或手表工具。这可能会有帮助。或者这个。如果您想访问Unix工具,可以在Windows上运行。

Ctrl+C是一种非常通用的方法,可以中断正在运行的命令。@DougMaurer Ctrl+C的问题是,我无法摆脱用于批脚本的“终止批处理作业(Y/N)”消息,这不是您正在运行的。为什么要使用
-Wait
开关?CVan您不只是在Get内容之后暂停。@怀疑论者,因为文件out.log在Get内容发布后被另一个应用程序修改