CMD批處理命令技巧

2021-06-01 02:58:23 字數 1577 閱讀 9539

★small tips

如要執行多個命令時,命令之間加 & 來隔開

結束程式使用taskkill命令。

★在批處理中實現"等待/延遲/暫停"的方法

(以下所有的程式均以等待/延遲/暫停2秒示例) 

1、比較傳統的設計思路,利用for解析變數%time%並存為乙個時間點,再利用set計算兩個時間點的時間差,最後用if判斷時間差是否達到設定的暫停時間。時間精度為0.01秒,適用平台為winnt/2k/xp/2003。 

@echo off 

setlocal enableextensions 

echo %time% 

call :procdelay 200 

echo %time% 

goto :eof 

:procdelay delaymsec_ 

setlocal enableextensions 

for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k 

:_procwaitloop 

for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k 

set /a diff_=%now_%-%start_% 

if %diff_% lss %1 goto _procwaitloop 

endlocal & goto :eof 

2、使用windows的vbs指令碼中的sleep函式,可以動態建立這個vbs指令碼,然後用windows指令碼宿主的命令列版本呼叫它。時間精度為0.001秒,使用平台為win9x/winnt系列。 

@echo off & setlocal enableextensions enabledelayedexpansion 

echo wscript.sleep 2000 > %temp%\tmp$$$.vbs 

echo %time% 

cscript //nologo %temp%\tmp$$$.vbs 

echo %time% 

for %%f in (%temp%\tmp$$$.vbs) do if exist %%f del %%f 

endlocal & goto :eof 

3、如果你的windows系統中正常安裝了網絡卡的tcp/ip協議,也可以使用ping定時傳送測試包,以此達到暫停一定時間的目的;-n後的數字是傳送包的數目,根據植樹原則,為暫停秒數加一,此法每秒有0.5%的偏差。時間精度為1秒,使用平台為win9x/winnt系列。 

ping -n 3 127.0.0.1>nul 

4、使用choice的預設選擇等待功能實現暫停,但它有個缺點,就是不能在等待途中按鍵,否則暫停的倒計時將自動終止。時間精度為1秒,適用平台為ms-dos/win9x/winnt系列。 

choice /t:y,2 /n >nul 

5、德國人herbert kleebauer給出了乙個通用方案,通過間接產生乙個exe程式來實現延遲,這個程式分為dos和win兩個模組。延遲精度為0.001秒,適用平台為ms-dos/win9x/winnt。**見附件(

CMD命令與批處理

1.一條cmd命令執行結果或狀態值存於變數 errorlevel 多數命令0表示正常,其獲取與判斷 if errorlevel 0 echo 執行成功!或 if errorlevel 0 echo 執行成功!2.符號 與 和 都是連續執行命令的連線命令,前一種是前面命令正常執行時執行其後的命令,後一...

常用CMD 批處理命令

1 echo 輸出資訊 2 echo off 關閉屏顯 3 echo 批處理輸出空行 4 pause 用於暫停的,為了阻止命令列自動關閉,會彈出 請按任意鍵繼 5 cd 目錄 進入目錄 6 等待 timeout t 後面跟上等待時長 單位預設為s 7 rem 注釋 8 set p input 請輸入...

cmd批處理引數

可以在批處理檔案內的任何地方使用批處理引數,以提取有關環境設定的資訊。cmd.exe 提供批處理引數擴充套件變數 0 到 9 當在批處理檔案中使用批處理引數時,0 將由批處理檔名替換,而 1 到 9 將由在命令列鍵入的相應引數替換。要訪問超出 9 的引數,必須使用shift命令。有關shift命令的...