需要在预定任务内运行两个动作。在第一个完成后需要一个人来运行

时间:2019-05-09 19:15:31

标签: powershell scheduled-tasks

我有Powershell代码来创建一个使用ghost.exe“重载”硬盘的任务。我需要创建一个任务,该任务首先使用所有参数运行ghost.exe,然后在完成后运行将使用Powershell脚本验证图像的下一个操作。

技巧是告诉任务等待直到创建备份,然后运行验证。在我的尝试中,它将启动备份,然后立即尝试进行验证。我该怎么办?

行:

 cmd /c schtasks /Create /RU 'SYSTEM' /SC once /TN hotghost /SD $startdate 
 /ST $starttime /TR $hotghosttask

/ TR是“要运行的任务”,但是我不能添加另一个/ TR来添加另一个动作。

1 个答案:

答案 0 :(得分:0)

如果您正在等待更改的现有项目,并且大致了解“幽灵”通常需要多长时间,那么一个简单的解决方案是仅在PowerShell脚本中构建一个控件,此控件随后将运行,以等待图像上的新LastWriteTime。在下面的示例中,当$ temp.LastWriteTime与当前的月,日,年和小时匹配时,脚本将继续。

请参见以下示例:

$Date = Get-Date -Format "MM-dd-yyyy hh:"

do {
$temp = Get-Item C:\temp\temp.txt
}
    until($temp.LastWriteTime.ToString("MM-dd-yyyy hh:") -eq $date)
Write-Host "Starting image verification..." 
[your code begins here]

另一种选择是创建一个临时文件,该文件在第一个任务完成后生成,并仅使用do / until循环直到语句为真。

do {
$temp = Test-Path C:\temp\temp.txt
}
    until($temp -eq $true)