如何将参数传递给子CMD

时间:2017-07-31 10:25:50

标签: windows batch-file cmd environment-variables

我的问题与上一个问题有关, How to run a batch script in a separate instance of cmd.exe。但它没有用,所以我想完全解释我的问题。

  1. 我的平台是Windows 7,但我认为它在Windows XP中与10相同。

  2. 我在.cmd脚本中通过setx.exe设置了一个环境变量。 (作品)

  3. 我想执行" my.jar"使用java -jar my.jar,需要环境变量。从当前的CMD运行它不会起作用,因为变量没有定义。所以我尝试了以下方法:

    1. 使用start "" /i Java -jar my.jar从第一个开始新的CMD。我大致尝试了所有start选项! (失败,没有范围)

    2. 使用start %windir%/Explorer "%windir%\system32\cmd.exe"从第一个开始新的CMD,然后输入java -jar my.jar。 (工作,范围好)

  4. 我想在批处理文件中实现工作解决方案(3.2),但它失败了:

    setx var "blabla"
    start %windir%/Explorer "%windir%\system32\cmd.exe"
    ???
    

    如何将参数java.exe -jar my.jar传递给第二个CMD?

1 个答案:

答案 0 :(得分:1)

setx对Windows安装进行全局更改,这些更改最有可能在重新启动后(或从正确的资源管理器实例启动进程时)。

set var="blabla"

可能就是你想要的。