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

时间:2012-12-06 14:52:41

标签: windows batch-file

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

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

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

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

    平台:Windows7


    更新1

    修改了结构,像这样的简单示例不起作用, 只有一个批处理文件,即没有2.“其他批处理文件” 唯一的批处理文件包含像这样的smth

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

    更新2

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

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

8 个答案:

答案 0 :(得分:118)

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

start /B /LOW /WAIT make package
PAUSE

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

更新

啊,一些新信息......你正试图通过任务栏上的固定快捷方式来做这件事。

我发现了这个Adding Batch Files to Windows 7 Taskbar like the Vista/XP Quick Launch,下面是相关部分。

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

出于您的目的,您可以:

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

  2. 更改命令行以使用/K并从批处理文件中删除PAUSE

答案 1 :(得分:12)

在这里:

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

看看你在做什么:

  1. (cmd / K)启动 cmd实例。
  2. (&amp; pause)暂停 CURRENT cmd实例。
  3. 如何解决?好吧,使用正确的语法,包含新CMD实例的参数:

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

答案 2 :(得分:6)

我刚写完最后一行暂停它与.bat和.cmd一起工作正常。 它还会显示消息“按任意键继续”。

答案 3 :(得分:5)

在要保持打开的批处理文件的最后一行中放置

pause >nul

答案 4 :(得分:3)

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

' & pause'

答案 5 :(得分:1)

您只需将pause command放在批处理文件的最后一行:

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

会给你这样的输出:

  嘿,我只是为你做一些工作。

     

按任意键继续......

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

答案 6 :(得分:0)

rem Just use "pause" at the end of the batch file.
...
......
.......
pause

答案 7 :(得分:-1)

最后它会重新打开你的控制台

start cmd