C# 从bat文件运行Java.jar和Windows.exe
情况是,我有3个单独的批处理文件在不同的位置运行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
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,它会一直挂起,直到我的单元测试完成,将开始添加到呼叫的前面修复了它,谢谢!!