我的問題涉及上一個問題, How to run a batch script in a separate instance of cmd.exe。但它不起作用,所以我想完全解釋我的問題。如何將參數傳遞給兒童CMD
我的平臺是Windows 7,但我認爲它在Windows XP中與10相同。
我在.cmd腳本中通過setx.exe設置了一個環境變量。 (works)
我想執行「my.jar」與
java -jar my.jar
,它需要環境變量。從當前CMD運行它將不起作用,因爲該變量未定義。所以我嘗試了以下方法:從第一個打開一個新的CMD
start "" /i Java -jar my.jar
。我嘗試了大概所有start
選項! (失敗,沒有範圍)從
start %windir%/Explorer "%windir%\system32\cmd.exe"
開始新的CMD並輸入java -jar my.jar
。 (工程,範圍確定)
我想實現在一個批處理文件,工作溶液(3.2),但它失敗:
setx var "blabla"
start %windir%/Explorer "%windir%\system32\cmd.exe"
???
我如何傳遞參數java.exe -jar my.jar
到第二個CMD?
什麼是'start%windir%/ Explorer「%windir%\ system32 \ cmd.exe」'應該這樣做?你嘗試過''開始「」[/ I] cmd/K java -jar「my.jar」',所以'java'命令行出現在一個新的'cmd'實例中(用'/ C'替換'/ K'爲'cmd'窗口自動關閉)?無論如何,狀態'setx var「blabla」'**和**'設置「var = blabla」',所以'var'在新的和當前的'cmd'實例中被設置... – aschipfl
java.exe可以在PATH中找到? Windows有類似於註冊的可執行文件(當PATH變量至少被定義時會被使用 - 足夠瘋狂)。我不知道,這些註冊的可執行文件是否繼承了調用者的環境 - 當多個資源管理器實例正在運行時... – V15I0N
路徑設置正常。 start%windir%/ Explorer「%windir%\ system32 \ cmd.exe」除了用WM_SETTINGCHANGE調用啓動一個新的cmd外,什麼都不做。 這是我想要的,但也做我的罐子......電話,但我認爲它不工作。 手動是,但不是在腳本 – Dan