【问题标题】:HOW to EXIT using "start" in batch files of MSDOS如何在 MSDOS 的批处理文件中使用“开始”退出
【发布时间】:2012-01-31 10:16:35
【问题描述】:

我想复制一些文件到不同的U盘,想用START打开几个控制台,如下:

start copy a.txt h:
start copy a.txt i:
start copy a.txt j:

但是每次我运行批处理文件时,有 3 个控制台没有退出。 如何使用 3 个批处理文件和“调用”命令来实现此退出功能 WITHOUT

copy.bat:

call a.bat
call b.bat
call c.bat
exit

和三个调用的批处理文件为:

a.bat:

start copy a.txt h:
exit

b.bat:

start copy a.txt i:
exit

c.bat:

start copy a.txt j:
exit

我已经尝试过了,但它不起作用:

start copy a.txt h: && exit
start copy a.txt i: && exit
start copy a.txt j: && exit

【问题讨论】:

  • 编辑了我的答案,这个有效:)
  • 只是出于好奇;为什么不使用call

标签: batch-file exit


【解决方案1】:

您需要转义 && 使其成为 start 执行的命令的一部分,而不是父批处理文件。

start copy a.txt h: ^&^& exit

即使出现错误也可以关闭新控制台:

start "" "%comspec%" /c copy a.txt h:

【讨论】:

  • 很好,我不知道你必须逃避 &'s。
  • 谢谢,第一个案例很有帮助,很有用!我以前也不知道逃跑。
  • start 带有/b 参数将阻止创建窗口。
【解决方案2】:

您可以使用start 启动一个新的 cmd 窗口,并在命令运行后将其关闭,如下所示:

start cmd /c copy a.txt h:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 2019-06-24
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多