批處理有哪些常用語句
echo、@、call、pause、rem是批處理文件最常用的幾個命令,
我們就從他們開始學起。
echo 表示顯示此命令后的字符;echo off 表示在此語句后所有運行的命令都不顯示命令行本身。@ 與echo off相象,但它是加在其它命令行的最前面,表示運行時不顯示命令行本身。
call 調用另一條批處理文件(如果直接調用別的批處理文件 ,執行完那條文件后將無法執行當前文件后續命令);
pause 運行此句會暫停,顯示Press any key to continue。 等待用戶按任意鍵后繼續;
rem 表示此命令后的字符為解釋行,不執行,只是給自己今后查找用的;
特殊命令
if goto choice for 是批處理文件中比較高級的命令,如果這幾個你用得很熟練,你就是批處理文件的專家啦。 if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式:
1、if "參數" == "字符串" 待執行的命令
參數如果等于指定的字符串,則條件成立,運行命令,否則運行下一句。(注意是兩個等號)
如if "%1"=="a" format a:
2、if exist 文件名 待執行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。如if exist * edit *
3、if errorlevel 數字 待執行的命令
如果返回碼等于指定的數字,則條件成立,運行命令,否則運行下一句。如if errorlevel 2 goto x2 DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼
goto 批處理文件運行到這里將跳到goto 所指定的標號處, 一般與if配合使用。 如:
goto end
:end
echo this is the end
標號用 :字符串 表示,標號所在行不被執行
choice 使用此命令可以讓用戶輸入一個字符,從而運行不同的命令。使用時應該加/c:參數,c:后應寫提示可輸入的字符,之間無空格。它的返回碼為1234……
for 循環命令,只要條件符合,它將多次執行同一命令。
以下就是幾個常用命令的返回值:
backup
出口狀態 意義
0 備份成功
1 未找到備份文件
2 文件共享沖突阻止備份完成
3 用戶用ctrl-c中止備份
4 由于致命的錯誤使備份操作中止
diskcomp
出口狀態 意義
0 盤比較相同
1 盤比較不同
2 用戶通過ctrl-c中止比較操作
3 由于致命的錯誤使比較操作中止
4 預置錯誤中止比較
diskcopy
出口狀態 意義
0 盤拷貝操作成功
1 非致命盤讀/寫錯
2 用戶通過ctrl-c結束拷貝操作
3 因致命的處理錯誤使盤拷貝中止
4 預置錯誤阻止拷貝操作
format
出口狀態 意義
0 格式化成功
3 用戶通過ctrl-c中止格式化處理
4 因致命的處理錯誤使格式化中止
5 在提示“proceed with format(y/n)?”下用戶鍵入n結束
xopy
出口狀態 意義
0 成功拷貝文件
1 未找到拷貝文件
2 用戶通過ctrl-c中止拷貝操作
4 預置錯誤阻止文件拷貝操作
5 拷貝過程中寫盤錯誤
求用人類語言解析這句批處理的含義^-^(set/aminute1=1%NowTime:
set /a minute1 = 1%NowTime:~3,2%-100 其中 %NowTime:~3,2% 取NowTime變量值從第3位后的兩位(不包含第3位).比如說現在時間是23:38:05.21 那么取得的值就是38.然后計算138-100的值為38賦值給變量* /a second2 = 1%NowTime:~-5,2%%NowTime:~-2%0-100000 其中%NowTime:~-5,2% 取NowTime變量值的倒數第5位開始取后2位(包含第5位)就是05. %NowTime:~-2%取NowTime變量值的倒數第2位開始后兩位(包含第2位)就是21.然后計算105210-100000的值為5210賦值給變量second2。