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


105

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

  1. “我的批处理文件”>2。“某些其他批处理文件”

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

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

我想做的事 我希望在批处理文件执行结束后打开控制台窗口。现在它刚刚关闭,尝试在cmd标志周围播放,没有结果。

平台:Windows7


更新1

修改了结构,像这样的简单示例无法正常工作,只有一个批处理文件,即没有2。“某些其他批处理文件”唯一的批处理文件包含这样的内容

start /B /LOW /WAIT make package
cmd /K

更新2

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

有什么想法如何保持控制台窗口打开?


我想您要My Batch File坚持吗?
Marc B

“热留下一个批处理文件打开的控制台窗口”的要求,更明确地在这里找到答案的方法:superuser.com/questions/175515/...
oberlies

Answers:


126

如果这确实是批处理文件的全部工作,请删除cmd /K并添加PAUSE

start /B /LOW /WAIT make package
PAUSE

然后,只需将您的快捷方式指向"My Batch File.bat"...,而无需使用来运行它CMD /K

更新

啊,一些新信息...您正在尝试通过任务栏上的固定快捷方式来执行此操作。

我发现了,将批处理文件添加到Windows 7任务栏,如Vista / XP快速启动,下面是相关部分。

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

为了您的目的,您可以:

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

    要么

  2. 更改要使用的命令行/K,并将其PAUSE从批处理文件中删除。

我已经做完了,基本上我的问题不是如何调用anohter批处理文件...
deimus 2012年

然后,我们需要查看两个批处理文件的内容。
Aphoria 2012年

请查看未解决的问题
deimus

同样的问题,替换CMD / K不起作用。如果从资源管理器中调用快捷方式,为什么安慰窗口没有关闭?
deimus

13

在这里:

cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause

看一下你在做什么:

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

怎么解决呢?好吧,使用正确的语法,将新CMD实例的参数括起来:

cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"

6

我只是写了最后一行,因为Pause在.bat和.cmd上都可以正常工作。还将显示消息为“按任意键继续”。


这是正确的答案!应该是最高票。
帕特里克·希勒

5

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

pause >nul


听起来好像早就关闭了,可能是脚本错误。尝试打开一个cmd提示符并从那里运行它,然后您可以查看是否存在任何错误。
Bali C

3

要使控制台窗口保持打开状态,您只需添加到批处理文件中的最后一个命令行即可:

' & pause'

2

您只需在批处理文件的最后一行输入pause命令

@echo off
echo Hey, I'm just doing some work for you.
pause

将给您这样的输出:

嘿,我正在为您做一些工作。

按任意键继续 ...

注意:使用@echo阻止在打印输出之前输出命令。



-1

放在最后,它将重新打开您的控制台

start cmd 

这不能解决问题,用户希望保持窗口打开,而不是重新打开旧窗口。
亚当

-5

我只要按Enter并输入Pause,它就可以正常工作

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.