我需要有多個遠程管理員在現場測試他們的下載速度。 Speedtest.net等都不是我們廣域網中性能的真實指標。我不希望使用iperf,因爲我需要儘量減少遠程管理員的技術知識和工作量。我不希望他們也不得不安裝任何東西。因此我需要一個簡單的批處理文件來下載一個測試文件5次。這是我到目前爲止:批處理腳本for循環不工作
@echo off
rem localize variables to this script
setlocal
rem delete the test file if it already exists
if exist %HomePath%\Downloads\100meg.test del %HomePath%\Downloads\100meg.test
rem perform the test 5 times
for /l %%i IN (1,1,5) DO (
rem mark the start time
set STARTTIME=%TIME%
echo Download started at:%STARTTIME%
rem start download
C:\windows\explorer.exe http://mirror.internode.on.net/pub/test/100meg.test
rem check for file download completion
:while
if exist %HomePath%\Downloads\100meg.test goto wend
goto while
:wend
rem mark the end time
set ENDTIME=%TIME%
echo Download completed at:%ENDTIME%
rem convert STARTTIME and ENDTIME to centiseconds
set /A STARTTIME=(1%STARTTIME:~0,2%-100)*360000 + (1%STARTTIME:~3,2%-100)*6000 + (1%STARTTIME:~6,2%-100)*100 + (1%STARTTIME:~9,2%-100)
set /A ENDTIME=(1%ENDTIME:~0,2%-100)*360000 + (1%ENDTIME:~3,2%-100)*6000 + (1%ENDTIME:~6,2%-100)*100 + (1%ENDTIME:~9,2%-100)
rem calculate the time taken in seconds
set /A DURATION=(%ENDTIME%-%STARTTIME%)/100
echo Download took:%DURATION% seconds
rem delete the test file ready for next iteration
del %HomePath%\Downloads\100meg.test
)
問題是,因爲添加for並將括號括起來,它停止工作。任何人都可以闡明爲什麼這是失敗的?
謝謝!
註釋掉「@echo off」,看看有什麼失敗。 – jdigital
好的,首先腳本似乎設置了變量,但立即忘記它: C:\ Users \ j \ Desktop> for/L%i IN(1 1 5)DO( set STARTTIME = 11:59:26.39 回聲下載的開始: 暫停 其次,它只有通過for循環 – James
單次迭代去(這個網站有未格式化的,以前的評論,我只想說,「下載開始時間:」讀取「下載開始時間: 11:59:26.39「for循環未使用時 –
James