从Powershell启动Powershell脚本,取消它并返回Powershell

时间:2016-12-16 06:08:46

标签: powershell

我们有someScript.ps1应该做一些事情,然后调用tail.ps1(它会记录日志文件)。当用户在日志文件中看到某个事件(例如服务已经停止)时,他们应该可以使用Ctrl + C取消tail.ps1并返回someScript.ps1流。

我想这可以使用windows start命令来调用调用powershell脚本的.bat文件,但是想知道是否可以在不需要的情况下从PS调用tail.ps1对于.bat。

注意:使用& .\tail.ps1无效。 Ctrl + C取消两个脚本,即someScript.ps1。我们正在使用Get-Content -Wait尾部。

1 个答案:

答案 0 :(得分:0)

让我给你一个出发的逻辑。

首先,您运行 somescript.ps1 ,然后将 tail.ps1 称为作业。

start-job -filepath c:\scripts\tail.ps1

现在,您可以根据您提到的某些条件使用停止作业来停止作业(例如,服务已停止)。

然后,您可以使用接收作业来接收作业的输出,甚至可以使用等待作业

等待作业完成

根据您的情况,您可以使用 do-While 并且您可以接收作业,或者您可以根据您的要求停止工作。

最后,它只会将控制权交还给 somescript.ps1

如需进一步参考工作,请浏览链接,或者您可以在这里询问。

以下链接有截图的完整说明:

Dealing with PS Jobs

希望这种逻辑对你有所帮助。