2011-08-23 61 views
2

(對於一個同事)無法通過兩個批處理文件

我有兩個批處理文件運行MSI:讓我們稱他們A.batB.bat

B.bat運行msi。 A.bat調用B.bat

如果我直接運行B.bat,它工作正常,但如果我通過A.bat跑,我收到以下錯誤信息:

msiexec is not recognized as an internal or external command, operable program or batch file.

我已經試過這裏提出的三種解決方案,沒有成功:

只是一個小細節,我的Windows XP嵌入式......在「正常」 XP它的工作原理確定

+5

您可能需要從'A.bat'發佈一些示例代碼。例如,如果它改變了'%PATH',問題可能會很明顯。 –

+0

@Damien,謝謝,顯然有*是*別的事情,目前對分:) – Benjol

+1

@Damien,你達人。我的(非開發人員)同事選擇了'%PATH'作爲變量名稱:) – Benjol

回答

0

遲來轉換@達米安的評論一個答案:

不要使用%PATH作爲變量名稱!

3

爲了避免不正確的DOS路徑的問題,你可以通過內置的start命令啓動msiexec,該命令將在具有乾淨環境變量的新窗口中執行該命令。

例如:

start msiexec ... 

這裏是一個完全成熟的例子:

C:\>set PATH=an-invalid-path 

C:\>notepad 
'notepad' is not recognized as an internal or external command, 
operable program or batch file. 

C:\>start notepad