2013-02-07 71 views
1

平臺:Windows Vista服務包2(86)環境變量不擴大

我是用批處理腳本瞎搞,並意識到他們可以作爲命令提示符法案(是的,我知道運行批處理腳本扔在命令提示符)我的意思是批處理腳本可以提示用戶輸入命令,然後調用命令。

SET command= 
SET /P command=%cd%^> 

ECHO(
%command% 
ECHO(

唯一的問題是,當我如CD%WINDIR%鍵入我得到一個錯誤信息告訴我,系統找不到指定的路徑。所以我輸入了echo%windir%和echo print%windir%,它完全沒有擴展。我想知道如果問題是因爲我有環境變量嵌套在%命令%變量內,但從我所瞭解的CMD.exe確實支持嵌套的環境變量。我嘗試使用延遲擴展,但該變量仍未擴展。

回答

3

添加一個callcmd /c來評估變量的方式。

@echo off 
setlocal 
SET /P command=%cd%^> 

call %command% 
ECHO; 
+0

我將CALL添加到了我的腳本中,現在它完美地工作,非常感謝您。 –