繁体   English   中英

如何将此Windows批处理文件转换为等效的Powershell脚本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM