我想在文件可用后(由单独的robocopy作业复制后(启动一个批处理文件。
下面是我尝试的命令。
Do {Write-Host 'Waiting'; Sleep 10;} While ((Test-Path -Path C:Tempfile.txt) -eq $False) {Start-Process "cmd.exe" "/c C:Tempfile.bat" -NoNewWindow -Wait}
然而,当while
条件计算为False
时,Powershell只打印语句,而不是执行它
正如@jeroen mostert所指出的,去掉大括号。
Do {Write-Host 'Waiting'; Sleep 10;} While ((Test-Path -Path C:Tempfile.txt) -eq $False) Start-Process "cmd.exe" "/c C:Tempfile.bat" -NoNewWindow -Wait
或者也可以添加分号以提高的可读性
Do {Write-Host 'Waiting'; Sleep 10;} While ((Test-Path -Path C:Tempfile.txt) -eq $False) ; Start-Process "cmd.exe" "/c C:Tempfile.bat" -NoNewWindow -Wait