我有Powershell代码来创建一个使用ghost.exe“重载”硬盘的任务。我需要创建一个任务,该任务首先使用所有参数运行ghost.exe,然后在完成后运行将使用Powershell脚本验证图像的下一个操作。
技巧是告诉任务等待直到创建备份,然后运行验证。在我的尝试中,它将启动备份,然后立即尝试进行验证。我该怎么办?
行:
cmd /c schtasks /Create /RU 'SYSTEM' /SC once /TN hotghost /SD $startdate
/ST $starttime /TR $hotghosttask
/ TR是“要运行的任务”,但是我不能添加另一个/ TR来添加另一个动作。
答案 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)