等待文件存在后启动批处理文件
我想在文件可用后(在由单独的 robocopy 作业复制后)启动批处理文件。
下面是我尝试过的命令。
Do {Write-Host 'Waiting'; Sleep 10;} While ((Test-Path -Path C:\Temp\file.txt) -eq $False) {Start-Process "cmd.exe" "/c C:\Temp\file.bat" -NoNewWindow -Wait}
但是,当 while
条件的计算结果为 False
时,Powershell 仅打印该语句而不是执行它。
I want to launch a batch file after a file becomes available (after it is copied by a separate robocopy job).
Below is the command I tried.
Do {Write-Host 'Waiting'; Sleep 10;} While ((Test-Path -Path C:\Temp\file.txt) -eq $False) {Start-Process "cmd.exe" "/c C:\Temp\file.bat" -NoNewWindow -Wait}
However, when the while
condition evaluates to False
, Powershell merely prints the statement instead of executing it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如 @jeroen-mostert 指出的那样,删除大括号。
或者也可以添加分号以提高可读性
Remove the curly brace as @jeroen-mostert has pointed out.
or can also add a semi-colon for readability