如何防止批处理文件执行后自动关闭控制台

我可以在批处理文件的末尾放置什么命令来防止在执行文件后自动关闭控制台?


#1楼

在批处理文件的末尾调用cmd


#2楼

cmd.exe添加为要执行的代码下方的新行:

c:\Python27\python D:\code\simple_http_server.py

cmd.exe

#3楼

如果您希望cmd.exe不关闭,并且能够继续键入,请使用cmd /k

只是觉得有必要澄清/k做什么(来自Windows网站):

/k :执行string指定的命令并继续。

因此,在bat文件末尾没有跟进命令的cmd /k只会保持cmd.exe窗口打开以供进一步使用。

在另一方面pause在一个批处理文件的末尾将简单地暂停过程和终止cmd.exe上按下第一个按钮


#4楼

除了pause

set /p=

可以使用。它会指望用户输入并在按下输入时释放流量。

要么

runas /user:# "" >nul 2>&1

除了用户输入之外的任何内容都将显示,也将保留在命令历史记录中。


#5楼

以下在批处理文件中具有命令的方式将打开新的命令提示符窗口,并且新窗口不会自动退出。

start "title" call abcd.exe param1 param2  
start "title" call xyz.exe param1 param2

#6楼

可能性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并显示它


#7楼

我的方法是写一个实际的批次(说“foo.bat”)来完成这项工作; 然后创建另一个“start.bat”:

@echo off
cmd /k foo.bat

我发现在设置一次性环境变量时这非常有用。


#8楼

我知道我迟到但我的首选方式是:

:programend
pause>nul
GOTO programend

这样,用户无法使用enter退出。


#9楼

有两种方法可以依赖于用例

1)如果您希望Windows cmd提示保持打开状态,以便您可以看到执行结果并在之后关闭它; 使用

pause

2)如果您希望Windows cmd提示保持打开状态并允许您执行一些命令; 使用

cmd

在此输入图像描述


#10楼

很容易,添加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,只关闭窗口,你就看不到错误消息了。


#11楼

这个小黑客要求用户输入一个密钥并将其存储到变量%exitkey%中(尽管这个变量可以被调用)。

set /p exitkey= "Press any key to continue..."

注意:'='后的空格非常重要


#12楼

pause

要么

echo text to display
pause>nul

#13楼

如果您正在使用Maven并且想要跳过键入并阻止控制台关闭以查看结果,则需要在脚本中使用CALL命令,除了“mvn clean install”之外。

这样会关闭控制台

ECHO This is the wrong exemple
mvn clean install
pause

像这样,控制台将保持打开状态

ECHO This is the right exemple
CALL mvn clean install
pause

如果你不使用CALL命令,那么过去的例子都不会起作用。


#14楼

这里的答案有问题,所以我想出了这个,这适用于我(TM):

cmd /c node_modules\.bin\tsc
cmd /c node rollup_build.js
pause

#15楼

在Windows / DOS批处理文件中:

pause

这打印出一个很好的"Press any key to continue . . . "消息

或者,如果您不想"Press any key to continue . . ." 消息,改为:

pause >nul

#16楼

取决于确切的问题!

通常pause.bat文件中执行作业。

如果您希望cmd.exe无法关闭以便能够保持键入,请在文件末尾使用cmd /k命令。

发布了0 篇原创文章 · 获赞 2 · 访问量 5930

猜你喜欢

转载自blog.csdn.net/asdfgh0077/article/details/104053139