2012-07-26 101 views
2

我已經寫在Windows 7上一個腳本,一直給我的。「(在這個時候意外」的錯誤以下代碼批處理腳本語句 - 意外(

if %vardns%=="NODNS" (
    netsh interface ipv4 set address name="%__ethAdapter.42%" source=static addr=%varip_old% mask=%varsubnet_old% gateway=%vargateway_old% gwmetric=1 
) else (
    netsh interface ipv4 set address name="%__ethAdapter.42%" source=dhcp 
) 

我不知道在哪裏問題在於,並已提前看了很多其他職位任何幫助,將好心不勝感激謝謝

+0

看起來對我有好處嗎? - 你需要改正:'if%vardns%== NODNS('也就是說沒有引號,但我不會認爲是造成那個錯誤 – 2012-07-26 15:45:44

+0

檢查'%vardns%'的值沒有特殊字符 – adarshr 2012-07-26 15:50:11

+0

Put ECHO ON在失敗的命令之前運行,然後運行腳本,然後你可以看到變量擴展後的命令是什麼樣子,希望在問題出現的時候變得更加明顯,如果你無法確定它出版,發佈擴展版 – dbenham 2012-07-26 15:59:22

回答

3

你得到這個錯誤,因爲vardns可能是空的,並解釋解開這一行:。

if =="NODNS" (

這是非法的語法。

你已經被告知做的是正確的 - 加引號%vardns%,像這樣:

if "%vardns%"=="NODNS" (

,它應該工作。

+0

增加的引號固定它,非常感謝快速回復。 – 2012-07-26 16:24:36