[英]How to convert this windows batch file into an equivalent Powershell script?
我正在尝试将此Windows .BAT文件(运行客户端和服务器网络代码应用程序)转换为Powershell:
这是我的蝙蝠文件:
@echo off
setlocal
start cmd
start java FixedMessageSequenceServer
ping 192.0.2.2 -n 1 -w 5000 > null
start /wait java FixedMessageSequenceClient
if errorlevel 1 goto retry
echo Finished successfully
exit
:retry
echo retrying...
start /wait java BatchWakeMeUpSomehow
这是我的Powershell文件:
Start-Job -ScriptBlock {
& java FixedMessageSequenceServer
Start-Sleep -s 1
& java FixedMessageSequenceClient
}
Start-Sleep -s 1
但是,当我尝试运行时,它无法正确输出或执行任何操作。 我也不确定如何转换start /wait
。
cmd中的start
外部调用运算符大致等同于PowerShell中的Start-Process
(别名start
)-它甚至具有-Wait
参数。
另一方面, Start-Job
在后台进程中启动您的scriptjob。
Start-Process java FixedMessageSequenceServer
Start-Sleep -Seconds 1
$JavaClient = Start-Process java FixedMessageSequenceClient -Wait -PassThru
if($JavaClient.ExitCode)
{
# exit code is non-zero, better retry
Start-Process java BatchWakeMeUpSomehow -Wait
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.