我可以在批处理文件的末尾放置什么命令来防止在执行文件后自动关闭控制台?
将 cmd.exe 添加为要执行的代码下方的新行:
cmd.exe
c:\Python27\python D:\code\simple_http_server.py cmd.exe
取决于确切的问题!
通常 pause 在 .bat 文件中执行作业 .
pause
如果您希望 cmd.exe 不能关闭以保持键入,请在文件末尾使用 cmd /k 命令 .
cmd /k
在批处理文件的末尾调用 cmd .
cmd
我知道我迟到但我的首选方式是:
:programend pause>nul GOTO programend
这样,用户无法使用enter退出 .
除了 pause .
set /p=
可以使用 . 它会指望用户输入并在按下输入时释放流量 .
要么
runas /user:# "" >nul 2>&1
除了用户输入之外的任何内容都将显示,也将保留在命令历史记录中 .
可能性1:只需制作2个.bat文件并写入第一个:
start <filename> // name of 2nd batch file exit
批处理文件2是最终不会关闭的文件 . 所以现在当你打开批次nr.1它将开始第二次和cloe本身 . 当第二次完成时它不会完全关闭(只要你不会把出口放在最后)
可能性2:批处理文件1:
call <filename> cls echo End of file pause <any code you want>
当第二个文件结束时,它将再次进入文件1并输出其余文件 . 有了它,你甚至可以制作错误处理程序 . 如果nr.1崩溃,它进入nr.2并显示它
如果您希望cmd.exe无法关闭,并且能够继续键入,请使用cmd / k
只是觉得需要澄清 /k 的作用(来自windows网站):
/k
/ k:执行string指定的命令并继续 .
所以 cmd /k 在bat文件末尾没有跟进命令只会让 cmd.exe 窗口打开以供进一步使用 .
另一方面,批处理文件末尾的 pause 将暂停该过程并在第一次按下按钮时终止 cmd.exe
以下在批处理文件中使用命令的方法将打开新的命令提示符窗口,新窗口将不会自动退出 .
start "title" call abcd.exe param1 param2 start "title" call xyz.exe param1 param2
我的方法是写一个实际的批次(说“foo.bat”)来完成这项工作;然后创建另一个“start.bat”:
@echo off cmd /k foo.bat
我发现在设置一次性环境变量时这非常有用 .
在Windows / DOS批处理文件中:
这打印出一个很好的 "Press any key to continue . . . " 消息
"Press any key to continue . . . "
或者,如果您不想要 "Press any key to continue . . ." 消息,请执行以下操作:
"Press any key to continue . . ."
pause >nul
这里的答案有问题,所以我想出了这个,这适用于我(TM):
cmd /c node_modules\.bin\tsc cmd /c node rollup_build.js pause
There are two ways to do it depend on use case
1)如果您希望Windows cmd提示保持打开状态,以便您可以看到执行结果并在之后关闭它;使用
停顿
2)如果您希望Windows cmd提示保持打开状态并允许您执行一些命令;使用
如果你正在使用 Maven 而你想跳过键入并阻止控制台关闭以查看结果,你需要在脚本中使用 CALL 命令,除了'mvn clean install' .
CALL
这样会关闭控制台
ECHO This is the wrong exemple mvn clean install pause
像这样控制台 will stay open
ECHO This is the right exemple CALL mvn clean install pause
如果你不使用 CALL 命令,那么过去的例子都不会起作用 .
这个小黑客要求用户输入一个密钥并将其存储到变量%exitkey%中(尽管这个变量可以被调用) .
set /p exitkey= "Press any key to continue..."
NB: the space after the '=' is very important
很容易,添加cmd到你的最后一行蝙蝠,但是!如果重置或清除系统路径,则必须使用完整路径启动cmd,例如:
%windir%\system32\cmd.exe
例如,我有一个bat文件将jdk重置为旧版本,如下所示:
PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 %windir%\system32\cmd.exe
因为我重置系统路径,我必须用完整路径运行cmd,否则系统找不到cmd.exe,它将无法运行cmd,只是关闭窗口,你就看不到错误信息 .
echo text to display pause>nul
16 回答
将
cmd.exe
添加为要执行的代码下方的新行:取决于确切的问题!
通常
pause
在 .bat 文件中执行作业 .如果您希望 cmd.exe 不能关闭以保持键入,请在文件末尾使用
cmd /k
命令 .在批处理文件的末尾调用
cmd
.我知道我迟到但我的首选方式是:
这样,用户无法使用enter退出 .
除了
pause
.可以使用 . 它会指望用户输入并在按下输入时释放流量 .
要么
除了用户输入之外的任何内容都将显示,也将保留在命令历史记录中 .
可能性1:只需制作2个.bat文件并写入第一个:
批处理文件2是最终不会关闭的文件 . 所以现在当你打开批次nr.1它将开始第二次和cloe本身 . 当第二次完成时它不会完全关闭(只要你不会把出口放在最后)
可能性2:批处理文件1:
当第二个文件结束时,它将再次进入文件1并输出其余文件 . 有了它,你甚至可以制作错误处理程序 . 如果nr.1崩溃,它进入nr.2并显示它
只是觉得需要澄清
/k
的作用(来自windows网站):所以
cmd /k
在bat文件末尾没有跟进命令只会让cmd.exe
窗口打开以供进一步使用 .另一方面,批处理文件末尾的
pause
将暂停该过程并在第一次按下按钮时终止cmd.exe
以下在批处理文件中使用命令的方法将打开新的命令提示符窗口,新窗口将不会自动退出 .
我的方法是写一个实际的批次(说“foo.bat”)来完成这项工作;然后创建另一个“start.bat”:
我发现在设置一次性环境变量时这非常有用 .
在Windows / DOS批处理文件中:
这打印出一个很好的
"Press any key to continue . . . "
消息或者,如果您不想要
"Press any key to continue . . ."
消息,请执行以下操作:这里的答案有问题,所以我想出了这个,这适用于我(TM):
There are two ways to do it depend on use case
1)如果您希望Windows cmd提示保持打开状态,以便您可以看到执行结果并在之后关闭它;使用
2)如果您希望Windows cmd提示保持打开状态并允许您执行一些命令;使用
如果你正在使用 Maven 而你想跳过键入并阻止控制台关闭以查看结果,你需要在脚本中使用
CALL
命令,除了'mvn clean install' .这样会关闭控制台
像这样控制台 will stay open
如果你不使用
CALL
命令,那么过去的例子都不会起作用 .这个小黑客要求用户输入一个密钥并将其存储到变量%exitkey%中(尽管这个变量可以被调用) .
NB: the space after the '=' is very important
很容易,添加cmd到你的最后一行蝙蝠,但是!如果重置或清除系统路径,则必须使用完整路径启动cmd,例如:
例如,我有一个bat文件将jdk重置为旧版本,如下所示:
因为我重置系统路径,我必须用完整路径运行cmd,否则系统找不到cmd.exe,它将无法运行cmd,只是关闭窗口,你就看不到错误信息 .
要么