在两个cmd窗口中执行两个进程,顺序引用冲突

时间:2013-02-20 16:27:26

标签: windows batch-file cmd

我想在第一个cmd窗口中运行echo hallo,我希望该cmd窗口弹出另一个cmd实例,该实例将在echo world完成后执行echo hallo(成功或失败)我希望两个进程完成后,两个cmd窗口都会保持打开状态

要完成这件事,我会从我的程序中运行cmd.exe

现在我正在使用
cmd /K start cmd.exe /K "echo hallo & start cmd.exe /K echo world"
和它的工作。这两个引号是强制性的,否则它不起作用

问题:

我将在两个命令提示符中运行的两个可执行文件可能在其中有空格所以我必须在"中保护它们和它们的参数,这将与顶层的封闭引号冲突。因为我没有看到它正确处理嵌入式引号。

windows>cmd /K start cmd.exe /K "echo hallo & start \"cmd.exe\" /K echo world"
windows>cmd /K start cmd.exe /K "echo hallo & start ""cmd.exe"" /K echo world"
windows>cmd /K start cmd.exe /K "echo hallo & start 'cmd.exe' /K echo world"

这三个作品中没有一个

2 个答案:

答案 0 :(得分:0)

/ k必须是引用字符串的一部分 如果您正在尝试按我认为的那样做,请尝试嵌套引号,如下所示:

cmd /K start cmd.exe /K "echo hello & start ""cmd.exe" /k" echo world"

答案 1 :(得分:0)

要避免文件名中的引号,请使用 8.3别名,例如EXECUT~1.EXE。

您可以使用
获取别名 DIR / X“可执行内部空格”