我在下面的另一個StackOverflow問題中發現了該技術。它獲取適當的「Program Files」目錄名稱,無論文件是在32位還是64位版本的Windows上運行。命令(批處理)文件 - 使用目錄名稱周圍的引號
如何解決下面的問題。如果我不在%programfiles%附近放置雙引號,那麼我在該集合上出現錯誤。
set BTDFProgFiles=%programfiles(x86)%
if %BTDFProgFiles%=="" set BTDFProgFiles=%programfiles%
echo BTDFProgFiles=%BTDFProgFiles%
%BTDFMSBuildPath% "%BTDFProgFiles%\FRB.EC.Common\%2\Deployment\FRB.EC.Common.BizTalk.Deployment.btdfproj" etc...
如果我把雙引號那裏,SET語句的工作,但隨後的parm到構建程序顯示了具有兩個PARMS:
set BTDFProgFiles="%programfiles(x86)%"
if %BTDFProgFiles%=="" set BTDFProgFiles="%programfiles%"
echo BTDFProgFiles=%BTDFProgFiles%
%BTDFMSBuildPath% "%BTDFProgFiles%\FRB.EC.Common\%2\Deployment\FRB.EC.Common.BizTalk.Deployment.btdfproj" etc...
解釋爲: 「C:\ WINDOWS \微軟.NET \ Framework \ v3.5 \ MSBu ild.exe「」C:\ Program Files「\ FRB.EC.BookTransfer \ 1.1 \ Deployment \ FRB.EC.BookTransf er.BizTalk.Deployment.btdfproj」等。
MSBuild認爲我試圖通過多個項目。; MSBUILD:錯誤MSB1008:只能指定一個項目。
謝謝,完美! – NealWalters 2011-04-04 21:42:55