Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理文件:如何保持控制台窗口打开_Windows_Batch File - Fatal编程技术网

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

Windows 批处理文件:如何保持控制台窗口打开,windows,batch-file,Windows,Batch File,我有两个批处理文件,其中一个执行另一个,即 “我的批处理文件”>2。“其他批处理文件” 我已经创建了第一个批处理文件的快捷方式,并编辑了它的属性,以下面的方式调用它 cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause 更新2 从资源管理器调用的同一快捷方式不会关闭控制台窗口。 但当从任务栏上的固定项目调用快捷方式时,控制台窗口关闭 你知道如何打开控制台窗口吗 如果这就是批处理文件所做的全部工作,请删除cmd/

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

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

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

    更新2

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


    你知道如何打开控制台窗口吗

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

    start /B /LOW /WAIT make package
    PAUSE
    
    然后,只需将快捷方式指向
    “My Batch File.bat”
    …无需使用
    CMD/K
    运行它

    更新 啊,一些新信息…你正试图从任务栏上的一个固定的快捷方式来做

    我找到了这个,下面是相关部分

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

  • 使用
    /C
    并在批处理文件的末尾放置
    暂停

  • 将命令行更改为使用
    /K
    ,并从批处理文件中删除
    暂停

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

    pause>nul

    此处:

    cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
    
    cmd.exe/k“\.bat”&暂停
    
    看看你在做什么:

  • (cmd/K)启动一个新的cmd实例
  • (&pause)暂停当前的cmd实例
  • 如何解决?好的,使用正确的语法,包含新CMD实例的参数:

    cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"
    
    cmd.exe/k“\.bat”和暂停
    
    要使控制台窗口保持打开状态,只需添加到批处理文件中的最后一个命令行:

    ' & pause'
    

    我刚刚将最后一行写为Pause它对.bat和.cmd都很好。
    它还将显示“按任意键继续”的消息。

    我只需按enter键并键入Pause,即可正常工作。

    您只需在批处理文件的最后一行中添加一个:

    @echo off
    echo Hey, I'm just doing some work for you.
    pause
    
    将为您提供如下内容作为输出:

    嘿,我只是帮你做点事

    按任意键继续


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

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

    start cmd 
    

    我想你想让
    我的批处理文件
    继续存在吗?“让批处理文件的控制台窗口保持打开状态很热”在这里被问得更清楚了:我已经做了,基本上我的问题不是如何调用另一个批处理文件…然后我们需要查看两个批处理文件的内容。请查看前面提到的问题相同的问题,替换CMD/K不起作用。如果从资源管理器中调用快捷方式,为什么控制台窗口不关闭?听起来它很早就关闭了,可能是脚本中有错误。试着打开一个cmd提示符并运行它,然后你可以看到是否有任何错误。这是正确的答案!这并不能解决问题,用户希望保持窗口打开,而不是重新打开旧窗口。
    start cmd 
    
    rem Just use "pause" at the end of the batch file.
    ...
    ......
    .......
    pause