批处理文件执行后如何让cmd保持打开状态

时间:2013-02-26 06:10:55

标签: java batch-file cmd

我目前正在学习Java课程,并且由于安全原因,它不会让我们为Java编译器设置环境变量。我们必须始终做的是打开cmd,然后放

set path="path_to_java"

这真的很烦人,因为当我们关闭命令行时它会丢失路径。我能够创建.bat文件的一部分,但是当我执行它时,它立即关闭。我知道你可以放PAUSE但是它不会让我们插入任何Java代码。

有没有办法创建一个.bat文件并修复这个问题,所以当我双击它创建路径变量时它让我们编译Java代码?

我目前只有这个

SET PATH "path_to_compiler"
CLS

2 个答案:

答案 0 :(得分:3)

你可以做几件事。一种方法是在某处创建批处理文件(例如在您的配置文件文件夹中),并在每次启动命令提示符时自动执行:

reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%USERPROFILE%\init.cmd"

但是,由于您不允许设置持久性环境变量,因此也可能禁止此操作。在这种情况下,您可以在桌面上创建批处理脚本的快捷方式,然后打开其属性并将目标更改为以下内容:

%COMSPEC% /k C:\path\to\your.cmd

%COMSPEC%是CMD可执行文件,选项/k阻止它在脚本完成后自动关闭。

作为旁注,您可能希望将当前%PATH%包含在编译器的路径中,否则可能会停止工作(例如,因为无法找到某些命令行实用程序):

set PATH=%PATH%;C:\javac\folder

答案 1 :(得分:0)

我没有检查重复项,但我很确定我最近看到过一个关于此问题的问题。无论如何,你引起了我对如何做到这一点的好奇心,所以我进行了实验,幸运的是我尝试过的第一件事。

所以,基本上你应该拥有的是......

@echo off
::Add your code under here
set path=path_to_compiler
cls
call cmd

我必须要问的一件事是,绝对有必要将变量称为“路径”而不是其他东西吗?我问这个是因为path是解释器用来做事的重要变量。

无论如何,这基本上只运行你的代码,然后在当前窗口中打开cmd.exe。