我有两个批处理文件,其中一个执行另一个,即
我创建了第一个批处理文件的快捷方式,并编辑其属性以按以下方式调用它。
cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
我想做什么 我希望在批处理文件执行结束后打开控制台窗口。现在它刚刚关闭,尝试使用 cmd 标志,但没有结果。
平台:Windows7
更新1
修改了结构,像这样简单的例子不太好用, 只有一个批处理文件,即没有 2.“其他一些批处理文件” 唯一的批处理文件包含这样的东西
start /B /LOW /WAIT make package
cmd /K
更新2
从资源管理器调用的相同快捷方式不会关闭控制台窗口。 但是当从任务栏上的固定项目调用快捷方式时,控制台窗口会关闭
有什么想法如何保持控制台窗口打开吗?
如果这确实是批处理文件所做的全部操作,请删除
cmd /K
并添加 PAUSE
。
start /B /LOW /WAIT make package
PAUSE
然后,只需将快捷方式指向
"My Batch File.bat"
...无需使用CMD /K
运行它。
啊,一些新信息...您正在尝试通过任务栏上固定的快捷方式来执行此操作。
我发现了这个,向 Windows 7 任务栏添加批处理文件,如 Vista/XP 快速启动,相关部分如下。
- 首先,通过点击开始按钮将
的快捷方式固定到任务栏,然后在搜索框中键入“cmd”,右键单击结果并选择“固定到任务栏”。CMD.EXE
- 右键单击任务栏上的快捷方式。
- 您将看到一个列表,其中包括“命令提示符”和“从任务栏取消固定此程序”。
- 右键单击
图标并选择CMD.EXE
。Properties
- 在目标框中,转到
的末尾,然后输入"%SystemRoot%\system32\cmd.exe"
以及路径和名称 批处理文件的。" /C "
为了您的目的,您可以:
使用
/C
并在批处理文件末尾添加 PAUSE
。
或
/K
并从批处理文件中删除 PAUSE
。问题就在这里:
cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
看看你在做什么:
如何解决?好吧,使用正确的语法,包含新 CMD 实例的参数:
cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"
我刚刚将最后一行写为Pause,它在 .bat 和 .cmd 中都运行良好。 它也会显示消息“按任意键继续”。
在要保持打开状态的批处理文件的最后一行中放置一个
pause >nul
要使控制台窗口保持打开状态,您只需添加到批处理文件中的最后一个命令行:
' & pause'
rem Just use "pause" at the end of the batch file.
...
......
.......
pause
放在最后,它将重新打开您的控制台
start cmd
我只需按 Enter 键并输入 Pause 即可正常工作