小编ljl*_*ljl的帖子

在PowerShell 4脚本中控制后台作业

我有一系列SAS程序,我使用从任务计划程序启动的PowerShell脚本在后台运行.

我希望每个程序在启动另一个程序之前先完成.

我已经尝试了很多不同的方法,使用我在这个网站上找到的例子,但似乎都没有.我特别无法找到的是在后台运行的作业的状态,然后在条件语句中使用该状态来检查在后台运行的第一个程序是否在启动第二个程序之前完成.

例如,如果我使用:

$job01 = Start-Job -ScriptBlock { & "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin "D:\EDM\SASPROGRAMS\ABC.sas" -nosplash -log D:\EDM\SASLOGS -work D:\SASWork }
Run Code Online (Sandbox Code Playgroud)

然后

Get-Job
Run Code Online (Sandbox Code Playgroud)

我发现,当SAS程序本身需要大约10分钟才能完成时,它才会$job01在发布后Get-Job立即完成.

我可以使用哪个cmdlet来确定后台运行的SAS程序何时完成?

powershell sas background-process

4
推荐指数
1
解决办法
62
查看次数

标签 统计

background-process ×1

powershell ×1

sas ×1