批處理的一些命令:windows
rem:註釋命令spa
echo:顯示特定的消息rem
echo hello world 輸出結果就是顯示:hello world字符串
call:能夠再一個腳本中調用另一個腳本string
1.bat:it
echo hello worldtest
2.bat:變量
echo luckyfile
call 1.bat技巧
執行2.bat的結果輸出:hello world
lucky
set:用來定義一個變量
set [-參數] 變量名=變量值
set 執行這個命令後將顯示當前環境下已經定義的全部變量,包括變量名和變量值
set /a test = 10/2
echo %test%
輸出結果爲5 windows腳本中全部變量默認都是字符串,進行數值計算 能夠加參數/a
set /p test=
echo %test%
/p是程序阻塞,等待用戶輸入一個字符串,回車以後繼續執行,輸入的值即爲輸出的值
pause:這個命令能夠讓程序暫停執行,並顯示」請安任意鍵繼續」,用戶按下任意鍵以後,將繼續執行腳本
echo ok
pause
echo hello
首先輸出ok 按任意鍵 再輸出hello
goto:跳轉,「:name」name爲標號值,建立一個標號,用goto 直接執行標號後面的命令
:label
dir c://
dir d://
goto label
上面的腳本就是跳轉到標號label處繼續執行
IF
IF 條件判斷語句,語法格式以下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
說明:
[NOT] 將返回的結果取反值即「若是沒有」的意思。
ERRORLEVEL 是命令執行完成後返回的退出值
Number 退出值的數字取值範圍0~255。判斷時值的排列順序應該又大到小。返回的值大於或等於指定的值時條件成立。
string1==string2 string1和string2都爲字符的數據,英文字符的大小寫將看作不一樣,這個條件中的等於號必須是2個(絕對相等),條件想等後即執行後面的 command
EXIST filename 爲文件或目錄存在的意思。
IF ERRORLEVEL這條語句必須放在某一個命令後面。執行命令後由IF ERRORLEVEL來判斷命令的返回值。
例:
一、 IF [NOT] ERRORLEVEL number command
檢測命令執行完後的返回值作出判斷。
echo off
dir z:
rem 若是退出代碼爲1(不成功)就跳至標題1處執行
IF ERRORLEVEL 1 goto 1
rem 若是退出代碼爲0(成功)就跳至標題0處執行
IF ERRORLEVEL 0 goto 0
:0
echo 命令執行成功!
Rem 程序執行完畢跳至標題exit處退出
goto exit
:1
echo 命令執行失敗!
Rem 程序執行完畢跳至標題exit處退出
goto exit
:exit
Rem 這裏是程序的出口
二、 IF string1==string2 command
檢測當前變量的值作出判斷
ECHO OFF
IF %1==2 goto no
Echo 變量相等!
Goto exit
:no
echo 變量不相等
goto exit
:exit
你們能夠這樣看效果 C://>test.bat 數字
三、 IF [NOT] EXIST filename command
發現特定的文件作出判斷
echo off
IF not EXIST autoexec.bat goto 1
echo 文件存在成功!
goto exit
:1
echo 文件不存在失敗!
goto exit
:exit
這個批處理你們能夠放在c盤和d盤分別執行看看效果。
windows下面寫BAT腳本的技巧:
截取字符串:
例如:%data%命令默認格式:2014-01-07 星期二 截取前10個字符,%data:~0,10%,結果就是2014-01-07
換行:
在批處理中,一行表明一個命令,若是要換行,就可能會出現invalid command這樣的錯誤,例如
exp %username%/%password%@%linkstr%^
log=%logfile%^
file=%dumpfile%^
變量設定:set username=oschina 引用變量的時候就是%username%