Command line 从另一批调用一批,然后启动服务

Command line 从另一批调用一批,然后启动服务,command-line,batch-file,Command Line,Batch File,我正在尝试从另一批调用本地计算机上的批。然后我尝试在远程计算机上启动服务。这是我的密码: call C:\Oracle\Middleware\user_projects\epm_system\bin\start.bat > SS.log sc \\OtherMachine start "Service1" >> SS.log sc \\OtherMachine start "Service2" >> SS.log 我已经确认可以启动服务,而无需事先启动start.

我正在尝试从另一批调用本地计算机上的批。然后我尝试在远程计算机上启动服务。这是我的密码:

call C:\Oracle\Middleware\user_projects\epm_system\bin\start.bat > SS.log
sc \\OtherMachine start "Service1" >> SS.log
sc \\OtherMachine start "Service2" >> SS.log

我已经确认可以启动服务,而无需事先启动
start.bat
。但是,当我尝试使用第一行代码调用
start.bat
时,它只会在完成后关闭一次,而不运行最后两行。

您可以在第一批中调用cmd.exe,如果第二批包含exit,则不会关闭它。 示例:
call.cmd

cmd /c "c:\temp\test.cmd"
echo end of first batch
test.cmd

@echo off
echo test 
exit
结果:

C:\temp>call.cmd
test
end of first batch

这是否意味着它不会执行上面发布的代码中的最后两行?是的,我就是这么说的。奇怪。
start.bat
是否包含
EXIT
GOTO:EOF
命令?如果是,您可以尝试将其更改为
退出/B
无法更改批次。有没有办法在新窗口中调用它,使它关闭并让第一个窗口继续运行?如果它包含
EXIT
命令,则没有办法。
EXIT
命令显然会杀死整个批次。你必须写一个程序,像这样:我试过这个,但没有成功。谢谢你的建议。@DrewRush请提供更多细节:错误是什么?球棒里面有什么?没关系。我是按小时计费的,所以我只能在任何问题上花这么多时间。我找到了另一种有效的方法。谢谢你的时间和兴趣,我非常感谢。