我試圖創建一個批處理文件來檢查您的計算機的名稱,然後它會將您的IP地址設置爲該計算機的相應IP地址。在IF語句(windows批處理文件)中設置變量
我有一個名爲IPAddress的變量來存儲新的IP地址。然後我有一個IF語句來檢查計算機名稱並分配新的IP地址。我的問題是,在IF語句中,當我將IPAddress變量設置爲我想要的新IP時,它不會粘住。當我在設置IPAddress變量後嘗試回顯IPAddress變量時,它仍然是原始狀態。
這裏是我的代碼:
@echo off
SET IPAddress=192.168.1.1
IF %computername%==TEST (
ECHO "TEST" computer
SET IPAddress=192.168.1.50
ECHO New IP Address: %IPAddress%
) ELSE IF %computername%==BRIDGE (
ECHO "BRIDGE" Computer
SET IPAddress=192.168.1.25
ECHO New IP Address: %IPAddress%
)
pause
我的「橋樑」的計算機上,我得到這個輸出:
"BRIDGE" Computer
New IP Address: 192.168.1.1
Press any key to continue . . .
我不明白爲什麼IF語句沒有按裏面的SET語句似乎沒有工作。
任何想法?
在此先感謝!
閱讀數千個問題之一tions/answers with'delayed expansion'指代括號中的(代碼塊),其中cmd.exe在進入塊時評估變量。要獲得實際值,您需要強制延遲擴展。 – LotPings
偏題:你騎自行車是什麼樣的。我不DH。大多隻是XC和耐力賽。稍後將刪除評論。 – Squashman
@Squashman這是2000年定製的DH自行車...所以它有點老舊搖搖晃晃,但我喜歡它。我得到了一個很好的交易,否則我不會買它。 :) – Jyclop