C# 从bat文件运行Java.jar和Windows.exe

C# 从bat文件运行Java.jar和Windows.exe,c#,java,windows,batch-file,cmd,C#,Java,Windows,Batch File,Cmd,情况是,我有3个单独的批处理文件在不同的位置运行start命令 并调用命令通过Firefox打开index.html 我想创建一个全局批处理文件,一次运行所有这些文件。 额外的提示是在调用每个命令之间暂停(几秒钟) 以下是我在批处理文件中执行的命令: echo majmun1 call C:\OKOLINA\additionConsoleApplication1.exe echo majmun2 call C:\OKOLINA\addition1\jWebSocketSamples-2.0.ja

情况是,我有3个单独的批处理文件在不同的位置运行
start
命令 并调用命令通过Firefox打开index.html

我想创建一个全局批处理文件,一次运行所有这些文件。 额外的提示是在调用每个命令之间暂停(几秒钟)

以下是我在批处理文件中执行的命令:

echo majmun1
call C:\OKOLINA\additionConsoleApplication1.exe
echo majmun2
call C:\OKOLINA\addition1\jWebSocketSamples-2.0.jar
echo majmun3
call firefox.exe C:\OKOLINA\addition2\index.html
echo majmun4
exit

它只执行第一个调用并停止。

您需要使用
start
istead:

echo majmun1
start C:\OKOLINA\additionConsoleApplication1.exe
echo majmun2
start C:\OKOLINA\addition1\jWebSocketSamples-2.0.jar
echo majmun3
start firefox.exe C:\OKOLINA\addition2\index.html
echo majmun4
exit
如果您想在
start
s之间暂停,则可以使用以下小技巧:

command 1
ping -w 1000 -n 5 127.0.0.1
command 2

它ping localhost 5次(
-n5
),并在每次ping之间等待1000ms(
-w1000
),有效地延迟了
命令2
的执行5秒。(不能使用
pause
,因为它等待用户按Enter键,并且没有内置的延迟命令)。

使用
start
而不是
call
启动应用程序

call
从另一个批处理程序调用一个批处理程序(filename参数必须具有
.bat
.cmd
扩展名)


另一方面,
start
启动一个单独的命令提示符窗口来运行指定的程序或命令。

我很确定
call
会等待进程结束。这对于从C#运行它至关重要,我有一个批处理刚刚调用了java.exe,它会一直挂起,直到我的单元测试完成,将开始添加到呼叫的前面修复了它,谢谢!!