假设我有2个我想要启动的服务和一个属性文件。
-svc1.cmd
-svc2.bat
-svc2prop.properties
让目录为C:\ program1 \ bin \和C:\ program2 \ bin \ + C:\ program2 \ config \
然后我尝试这样做:start cmd /k call C:\program1\bin\svc1.cmd
start cmd /k cd C:\program2\ .\bin\svc2.bat .\config\svc2prop.properties
我可以通过打开本地CMD来单独启动它们。问题是,如果我在目录C:\ program2 \我可以打开本地CMD并运行此语句没有问题“。\ bin \ svc2.bat。\ config \ svc2prop.properties”
但我想创建一个批处理文件:首先,打开一个新的cmd并启动svc1.cmd,然后打开另一个cmd,它将转到C:\ program2 \并运行“”。\ bin \ svc2 .bat。\ config \ svc2prop.properties“”声明...但由于某种原因它不起作用。
任何可能的解决方案?
答案 0 :(得分:4)
第二行应使用/D
选项在所需目录中启动进程:
start /D C:\program2 cmd /k .\bin\svc2.bat .\config\svc2prop.properties
(在你的例子中,你只是将很多参数传递给无用的cd
命令)
如果您对第一行有一些当前目录问题,请执行相同的操作:
start /D C:\program1\bin cmd /k call svc1.cmd