BAT用if-else判斷要求輸入一個數,用if..else..判斷,是運行某程序,否
@echooff :start set/pfirst="請選擇,輸入1運行1號程序,輸入2運行2號程序:" if%first%LEQ2( gotofirst )else( echo輸入錯誤!請重新輸入! gotostart ) :first IF%first%==1gotooneELSEgototwo exit :one rem這里是你要執行的第一個程序 exit :two rem這里是你要執行的第二個程序 exit 照剛才上面的程序,還可以將另一條IF語句加入到第一條中 變化如下 @echooff :start set/pfirst="請選擇,輸入1運行1號程序,輸入2運行2號程序:" if%first%LEQ2( IF%first%==1( rem這里是你要執行的第一個程序 exit )ELSE( rem這里是你要執行的第二個程序 exit ) )else( echo輸入錯誤!請重新輸入! gotostart ) pause 詳細內容參考set/?if/?上面程序涉及到的比較運算符可在if/?里面看到。
BAT用if-else判斷
@echo off
:start
set /p first="請選擇,輸入1運行1號程序,輸入2運行2號程序:"
if %first% LEQ 2 (
goto first
) else (
echo 輸入錯誤!請重新輸入!
goto start
)
:first
IF %first% == 1 goto one ELSE goto two
exit
:one
rem 這里是你要執行的第一個程序
exit
:two
rem 這里是你要執行的第二個程序
exit
照剛才上面的程序,還可以將另一條IF語句加入到第一條中
變化如下
@echo off
:start
set /p first="請選擇,輸入1運行1號程序,輸入2運行2號程序:"
if %first% LEQ 2 (
IF %first% == 1 (
rem 這里是你要執行的第一個程序
exit
) ELSE (
rem 這里是你要執行的第二個程序
exit
)
) else (
echo 輸入錯誤!請重新輸入!
goto start
)
pause
詳細內容參考 set /? if /? 上面程序涉及到的比較運算符可在 if /?里面看到
批處理星期 時間判斷語句
@echo off
if %date:~13%==一 goto choice1
if %date:~13%==二 goto choice2
if %date:~13%==三 goto choice3
if %date:~13%==四 goto choice4
if %date:~13%==五 goto choice5
if %date:~13%==六 goto choice6
if %date:~13%==日 goto choice7
:choice1
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice2
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice3
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice4
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice5
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice6
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
:choice7
xcopy xxxx xxxx
echo 操作完畢。
pause>nul&&goto :eof
rem *************
rem 星號以上代碼另存為*,你自己改一下choice后的動作來測試吧
如何用批處理寫一段判斷語句
@echo off
ping -n 1 192.168.0.1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址無法ping通>*
pause
exit
將以上文字存成*就可以了
如果你想執行一個帶參數的bat的話
@echo off
ping -n 1 %1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址無法ping通>*
pause
exit
將以上文字存成*
在myping2文件所在目錄里執行
myping2 ip地址即可
如果ping不通,則將“ip地址無法ping通”寫入*文件中。
bat判斷語句
你好,我寫的一個例子吧,你可以把記事本和計算器改成你要運行的程序路徑,
@echo off
CHOICE /C yn /M 按"Y"運行"*(記事本)",按"N"運行"*(計算器)"
if %errorlevel%==1 (goto 1)
if %errorlevel%==2 (goto 2)
:1
echo 你選擇了Y,啟動記事本 *
*
exit
:2
echo 你選擇了N,啟動計算器*
*
exit
pause>null
批處理判斷語句是否執行成功的方法
根據系統變量%errorlevel%來判斷其返回的結果,從而判斷批處理是否成功執行。
errorlevel的返回值:每個命令執行之后,基本返回值0或1(0表示成功,1表示失敗)
特別是內部命令,不能一概的說是系統規定的,而是命令所指定的,第三方命令(外部命令)會提供多個甚至幾十個返回值但最多 256±1 個返回值,各命令的返回值含義可能各不相同。
@echo off
ping 192.168.1.1
IF ERRORLEVEL 1 goto MySuccess
IF ERRORLEVEL 0 goto MyFail
goto Goodbye
:MyFail
echo 命令執行成功!
goto Goodbye
:MySuccess
echo 命令執行失敗!
goto Goodbye
:Goodbye
echo 命令已執行,結果顯示在上面。
注意,以上的代碼,你只需要改動一行就足夠了。
修改這一行ping 192.168.1.1,改成為你自己的批處理命令就可以了。
另外,判斷ERRORLEVEL返回號應該由高到低。
如何寫bat判斷語句判斷是第一次執行
判斷第一次執行?是指語句第一次執行還是指批處理本身?
如果是批處理本身,可以利用傳參的形式,只在某個特定參數環境下執行命令。
@echo off
rem 判斷參數1,是否為only
if "%1"=="only" goto :begin
pause&&exit
:begin
echo 程序開始
如果是語句,可以增加計數變量判斷,以防止被再次執行。而命令間的循環與再次執行,需要通過call :label 或者 goto :label 來跳轉到對應的命令語句
@echo off
:初始化變量
set Only=0
:check
echo only 為 %Only%
pause&&exit
:begin
set /a Only=%Only%+1
goto :check