與Windows命令行腳本作戰我只是無法去工作。windows命令行腳本變量出錯了嗎?
基本上我試圖啓動一個名爲vnctv.exe的程序,其參數爲HOST ipaddress PORT 5900 PASSWORD x,但是我只想運行帶有當前在線計算機的IP地址的程序。
我試過幾個不同的東西,但我不能得到任何工作正常。
看來,當我運行命令並單獨鍵入命令,他們都正常工作,但是當我運行它在.bat文件中失敗。
我試過enabledelayedexpansion,所以我不需要打電話,但我無法得到那個工作。
for循環首先遍歷30-255個地址。下一個循環ping IP,並找出損失率。如果它是0,那麼我需要將該地址添加到vnctv.exe的運行參數中。我試着回顯文件,然後刪除\ n字符,但無法使其工作。所以腳本應該將該參數添加到變量中,但失敗。
這裏是
set _megga=vnctv.exe
FOR /L %%A IN (253,1,255) DO (
FOR /F "tokens=2 delims=(%%" %%B
IN ('PING -w 500 -n 1 91.40.20.%%A -w 500 -n 1 ^|find "loss"')
DO (if %%B EQU 0 call :exec))
)
:exec
set %%_megga=%_megga% HOST 91.40.20.%%A PORT 5900 PASSWORD x
goto :EOF
echo %%_megga > run.bat
run.bat
和繼承人的輸出
Z:\>set _megga=vnctv.exe Z:\>FOR /L %A IN (253 1 255) DO (FOR /F "tokens=2 delims=(%" %B IN ('PING -w 500 -n 1 91.40.20.%A -w 500 -n 1 |find "loss"') DO (if %B EQU 0 call :exec )) Z:\>(FOR /F "tokens=2 delims=(%" %B IN ('PING -w 500 -n 1 91.40.20.253 -w 500 -n 1 |find "loss"') DO (if %B EQU 0 call :exec )) Z:\>(if 0 EQU 0 call :exec ) Z:\>set %_megga=vnctv.exe HOST 91.40.20.%A PORT 5900 PASSWORD x Z:\>goto :EOF Z:\>(FOR /F "tokens=2 delims=(%" %B IN ('PING -w 500 -n 1 91.40.20.254 -w 500 -n 1 |find "loss"') DO (if %B EQU 0 call :exec )) Z:\>(if 0 EQU 0 call :exec ) Z:\>set %_megga=vnctv.exe HOST 91.40.20.%A PORT 5900 PASSWORD x Z:\>goto :EOF Z:\>(FOR /F "tokens=2 delims=(%" %B IN ('PING -w 500 -n 1 91.40.20.255 -w 500 -n 1 |find "loss"') DO (if %B EQU 0 call :exec )) Z:\>(if 100 EQU 0 call :exec ) Z:\>set %_megga=vnctv.exe HOST 91.40.20.%A PORT 5900 PASSWORD x _megga=vnctv.exe Z:\>set %_megga=vnctv.exe HOST 91.40.20.%A PORT 5900 PASSWORD x Z:\>goto :EOF
當我設置應改爲91.40.20.254例如代替%A,也它使2個不同的變量
感謝您的幫助
Adam
試過,但仍然得到1%或1而不是實際的值的
set _megga=vnctv.exe
FOR /L %%A IN (253,1,255) DO (
FOR /F "tokens=2 delims=(%%" %%B IN
('PING -w 500 -n 1 91.40.20.%%A -w 500 -n 1 ^|find "loss"')
DO (if %%B EQU 0 call :exec %%A))
:exec
set %%_megga=%%_megga HOST 91.40.20.%%1 PORT 5900 PASSWORD x
goto :EOF
Thankyou這樣做可以工作,但它啓動了幾次應用程序,因爲我只需要啓動應用程序一次,並將所有參數包含在該調用中。 – 2009-10-01 13:20:52
亞當,請注意我對您評論的最新變化。 – akf 2009-10-01 13:33:11
AHA輝煌的感謝,這是我一直在哪裏錯了謝謝很多 – 2009-10-01 13:43:50