批处理文件:如何使控制台窗口保持打开状态

dei*_*mus 103 windows batch-file

我有两个批处理文件,其中一个执行另一个,即

  1. "我的批处理文件"> 2."其他批处理文件"

我已经创建了第一个批处理文件的快捷方式,并编辑了它的属性,以便按以下方式调用它.

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
Run Code Online (Sandbox Code Playgroud)

我想做什么 我希望在批处理文件执行结束后打开控制台窗口.现在它只是关闭,试图围绕cmd标志,没有结果.

平台:Windows7


更新1

修改了结构,像这样的简单例子也不行,只有一个批处理文件,即没有2."其他批处理文件"唯一的批处理文件包含像这样的smth

start /B /LOW /WAIT make package
cmd /K
Run Code Online (Sandbox Code Playgroud)

更新2

从资源管理器调用的相同快捷方式不会关闭控制台窗口. 但是,当从任务栏上的固定项调用快捷方式时,控制台窗口将关闭

任何想法如何保持控制台窗口打开?

aph*_*ria 122

如果这确实是所有批处理文件都在进行,请删除cmd /K并添加PAUSE.

start /B /LOW /WAIT make package
PAUSE
Run Code Online (Sandbox Code Playgroud)

然后,只需将您的快捷方式指向"My Batch File.bat"...不需要运行它CMD /K.

UPDATE

啊,一些新的信息...你试图从任务栏上的固定快捷方式做到这一点.

我发现了这一点,将批处理文件添加到Windows 7任务栏,如Vista/XP快速启动,以及下面的相关部分.

  1. 首先,CMD.EXE通过点击开始按钮固定任务栏的快捷方式,然后在搜索框中键入"cmd",右键单击结果并选择"固定到任务栏".
  2. 右键单击任务栏上的快捷方式.
  3. 您将看到一个包含" 命令提示符 "和" 从任务栏取消固定此程序 "的列表.
  4. 右键单击图标,CMD.EXE然后选择Properties.
  5. 在Tar​​get的框中,转到结尾"%SystemRoot%\system32\cmd.exe"并键入" /C "批处理文件的路径和名称.

为了您的目的,您可以:

  1. 使用/C并放在PAUSE批处理文件的末尾.

    要么

  2. 更改要使用的命令行/KPAUSE从批处理文件中删除.


Ele*_*ios 13

在这儿:

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
Run Code Online (Sandbox Code Playgroud)

看看你在做什么:

  1. (cmd/K)启动一个新的 cmd实例.
  2. (&pause)暂停CURRENT cmd实例.

怎么解决?好吧,使用正确的语法,包含新CMD实例的参数:

cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"
Run Code Online (Sandbox Code Playgroud)


Sai*_*Sai 6

我刚写了最后一行作为Pause,它与.bat和.cmd都运行良好.它还会显示消息"按任意键继续".


Bal*_*i C 5

在您要保持打开状态的批处理文件的最后一行中,输入一个

pause >nul