ေၾကာ္ျငာေလးေတြကို Click လုပ္ေပးဖို႕ ေတာင္းဆိုအပ္ပါတယ္။

BAT File သင္ခန္းစာ (၆)

index
ဒီေန႔ေတာ့ က်ေနာ္ IF ERROR LEVEL နဲ႔ CHOICE ကို ေပါင္းၿပီးေရးသားနည္းကို ေၿပာၿပေပးပါမယ္။
ပထမဦးစြာ က်ေနာ္တုိ႔ဟာ CHOICE command က Error Level ကို ဘယ္လိုပံုစံမ်ိဳးနဲ႔ Return ၿပန္ေပးတယ္ဆုိတာ သိထားဖို႔လုိပါေသးတယ္။ CHOICE
command ကေတာ့ က်ေနာ္တုိ႔ Program Run ေနတုန္းမွာ key တစ္ခုခုႏွိပ္တဲ့အေပၚမူတည္ၿပီးေတာ့ ERROR LEVEL ကို return ၿပန္ေပးသလို /C မွာ ပါတဲ့
ၾကိဳတင္သတ္မွတ္ထားတဲ့ Key တစ္ခုခုေပၚမူတည္ၿပီးေတာ့ လည္း return ၿပန္ေပးပါတယ္။ ေအာက္က ဥပမာေလးကို ၾကည့္ၿပီးနားလည္မွာပါ…


CHOICE /C:SY12

Error Level ေတြကို မေလ့လာခင္မွာ က်ေနာ္တုိ႔အေနနဲ႔ တစ္ခုသိထားရမွာက Error Level Code ေတြရဲ႕ တန္ဖိုးဟာ User ရိုက္ထည့္လုိက္တဲ့ keyေပၚမူတည္ၿပီး
ေတာ႔ ေၿပာင္းလဲေနနုိင္ပါတယ္ဆုိတာပါ။ ဆုိလိုတာကေတာ့ အေပၚက Code မွာဆုိရင္ S ကို ႏွိပ္ရင္ ရမယ့္ Error Level က 1 , Y ကို ႏွိပ္ရင္ေတာ့ 2 , 1 ကို ႏွိပ္မ
ယ္ဆုိရင္ေတာ့ 3 ၿဖစ္ၿပီးေတာ့ 2 ကို ႏွိပ္မယ္ဆုိရင္ေတာ့ ရရိွမယ့္ error level က 4 ဆုိၿပီးရရိွလာမွာပါ။ ဒီေလာက္ ဆုိရင္ေတာ့ က်ေနာ္တုိ႔ဟာ CHOICE
command အေနနဲ႔ ဘယ္လုိဘယ္ပံုမ်ိဳးနဲ႔ ERROR Level ေတြကို Return ၿပန္တယ္ဆိုတာ သိသြားပါၿပီ။
အခု ဆက္လက္ၿပီးေတာ့ IF ERROR LEVEL command က ဘယ္လိုအလုပ္လုပ္တယ္ ၊ သူ႔ကို ဘယ္လိုသံုးတယ္ဆုိတာေလ့လာပါမယ္။ သူ႔ရဲ႕ ေရးသားပံုေရးသား
နည္းကေတာ့…

IF [NOT] ERRORLEVEL number command

အဲဒီ့ေကာင္ကေတာ့ လက္ရိွ Error ေပၚမူတည္ၿပီးေတာ့သာ အလုပ္လုပ္မွာၿဖစ္ပါတယ္။ လက္ရိွ ေပးထားတဲ့(စစ္ထားတဲ့) အေၿခအေနတစ္ခု (Error Level တစ္ခု)
ဟာ မွန္တယ္ဆုိေတာ့မွ Program က အလုပ္လုပ္မွာပါ။ အဲဒါကို ဥပမာ နဲ႔ ေလ့လာၾကည့္ရေအာင္…

IF ERRORLEVEL 3 ECHO OK

အေပၚက Code ကို run မယ္ဆုိရင္ေတာ့ အကယ္လို႔ က်ေနာ္တုိ႔ရဲ႕ လက္ရိွ Error Level ကသာ 3 ၿဖစ္မယ္ဆုိရင္ OK ဆုိတာကို အမဲေရာင္စကရင္မွာ ၿမင္ရမွာပါ။

မွတ္ရန္ ၊၊ ၊၊ အေရးအၾကီးဆုံး တစ္ခ်က္ကေတာ့ Error Level ကို If နဲ႔ စစ္တဲ့ အခါမွာ စစ္လုိက္တဲ့ error level နဲ႔ ရလာမယ့္ error level ဟာ တူရင္တူ ၊ မတူရင္
ၾကီးေနမွ Program အလုပ္လုပ္ပါမယ္။

အေပၚက Code မွာ ဆုိရင္ Error Level ဟာ 3 ထက္ၾကီး၇င္ၾကီး မၾကီးရင္တူမွ Program အလုပ္လုပ္မွာၿဖစ္ပါတယ္။
အခုဆုိရင္ေတာ့ က်ေနာ္တုိ႔ဟာ CHOICE နဲ႔ IF ERROR LEVEL အေၾကာင္းနားလည္သြားၿပီၿဖစ္လို႔ သူတုိ႔ ၂ ခုကို ေပါင္းစပ္ၾကည့္ဖို႔ ၾကိဳးစားရပါေတာ့မယ္။ တကယ္
ေတာ့ ၾကိဳးစားစရာေတာင္မလုိေတာ့ပါဘူး သူတုိ႔ ၂ ခုကို တစ္ခုခ်င္းစီကို ေသခ်ာနားလည္ေနၿပီဆုိရင္ကို ေပါင္းစပ္ဖို႔က ေတာ္ေတာ္ေလး လြယ္သြားပါၿပီ။
သူတုိ႔ ၂ ခုကို အေသအခ်ာ ေပါင္းစပ္တတ္မယ္ဆုိရင္ေတာ့ က်ေနာ္တုိ႔ဟာ Bat နဲ႔ Menu Based Program ေတြကို အလြယ္တကူ ေရးသားနုိင္တဲ့ အေၿခအေနကို
ေရာက္လာၿပီလုိ႔ဆုိရပါလိမ့္မယ္။ ေအာက္က ဥပမာေလးကို ေလ့လာၾကည့္ရေအာင္။ အဲဒီ့ ဥပမာဟာဆုိရင္ေတာ့ User ဆီကေနၿပီးေတာ့ အသံုးၿပဳဖို႔ Browser
တစ္ခုကို Menu အေနနဲ႔ ေရြးခိုင္းတာပါ။
(ဒီေနရာမွာ က်ေနာ္ တစ္ခုၿပန္ေၿပာခ်င္တာကေတာ့ က်ေနာ္ အရင္က Site Selection Batch ဆုိၿပီးေတာ့ bat file တစ္ခု ဒီဖိုရမ္ထဲမွာ ေရးေပးခဲ့ဖူးပါေသးတယ္။
အဲဒါေလးနဲ႔ အခုဥပမာ ၿပမယ့္ဟာက သေဘာတရားတူေနလို႔ က်ေနာ္ သတိရလုိ႔ ၿပန္ေၿပာတာပါ။ အခု Post ကို ဖတ္ၿပီးရင္ အဲဒီ့ site selection batch ကို မဖတ္ရ
ေသးရင္ သြားဖတ္ၿပီးေတာ့ ေလ့လာလုိက္ပါ။ Code ေတြကို အလြယ္တကူ နားလည္ပါလိမ့္မယ္။)
ကဲ ေအာက္က ဥပမာ ဆီဆက္လုိက္ရေအာင္….

@ECHO OFF
ECHO.
ECHO.
ECHO Welcome to Browser Selection Program
ECHO.
ECHO 1. Internet Explorer
ECHO 2. Mozilla Firefox
ECHO x. Exit Browser Selection Program
ECHO.
CHOICE “Please Choose Your Browser” /C:12x /N
IF ERRORLEVEL 3 GOTO END
IF ERRORLEVEL 2 START C:\progra~1\firefox.exe
IF ERRORLEVEL 1 start c:\progra~1\intern~1\iexplore.exe
:END

သတိၿပဳရန္ >> အေပၚက Code မွာ IF ERROR LEVEL ကို အမ်ားကေန အနည္း (၃ ကေန ၁) ကို ငယ္စဥ္ၾကီးလုိက္စီထားတာကို သတိၿပဳမိေစခ်င္ပါတယ္။

က်ေနာ္ ဒီေန႔ေတာ့ က်ေနာ့္ Tutorial ၊ က်ေနာ့္ ေရးသားပံု ၊ ေဆြးေႏြးပံု ဘယ္ေလာက္ထိေရာက္တယ္ ဆိုတာကို စမ္းသပ္တဲ့အေနနဲ႔ အေပၚက ဥပမာ ၿပလုိက္တဲ့
Code ကို အစအဆုံးမရွင္းၿပေတာ့ပါဘူး။
လြယ္လည္း လြယ္လုိ႔ပါ။ ၾကည့္လိုက္တာနဲ႔ကို ဘာကဘယ္လိုဆုိတာ သိနုိင္ပါတယ္။ အရင္ကလုိ က်ေနာ္ အစအဆုံး ရွင္းၿပေနရင္ အစ္ကို ၊ အစ္မ တုိ႔အေနနဲ႔လည္း
တကယ္နားလည္မလည္ ဆုိတာ ကိုယ္တုိင္မသိနုိင္ဘူးၿဖစ္ေနပါလိမ့္မယ္။ အဲဒီ့ေတာ့ အခု က်ေနာ္ေပးတဲ့ ဥပမာကို မဖတ္ခင္ အေပၚက CHOICE နဲ႔ IF ERROR
LEVEL ဆုိတဲ့ Command အေၾကာင္းကို အရင္ဖတ္ပါ ၊ သူတို႔ ၂ ခုကို နားလည္ၿပီဆုိမွ ဒီ ဥပမာကို ဖတ္ပါ။ အကယ္လို႔ CHOICE နဲ႔ IF ERROR LEVEL
command ေတြကိုသာ တကယ္နားလည္သြားၿပီ ဆုိရင္ ဖတ္ရင္းနဲ႔တင္ ဒီဥပမာကို သေဘာေပါက္ေနပါၿပီ။ အဲဒီ့လုိဆုိရင္ က်ေနာ္ ေရးေပးရက်ိဳးလည္းနပ္ပါၿပီ။
အကယ္လို႔ အဲလိုလုပ္တာေတာင္ နားမလည္ဘူးဆုိရင္ေတာ့ က်ေနာ့္ေရးသားတင္ၿပပံု ၊ ေဆြးေႏြးပံုေတြ တစ္ခုမွမေကာင္းဘူးဟုသာ Comment ေပးခဲ့ပါ။ က်ေနာ္
လည္း ဘယ္ေသာအခါမွ Tutorial ဆုိတာေတြကို ကိုယ္တုိင္လည္း ဆက္မေရးေတာ့သလို ၊ ဘာသာၿပန္ၿပီးေတာ့ေတာင္ မေရးေတာ့ပါဘူး။

အခုေတာ့ က်ေနာ္ ကိုယ္တုိင္ ဒီ Bat ပိုင္းကို ၿပန္လည္စိတ္ပါလာၿပီၿဖစ္လို႔ အစက IF နဲ႔ တင္ရပ္လိုက္ေတာ့မလုိ႔ဟာ အခု CHOICE ရယ္ Error Level အထိပါ
ေရာက္လာပါၿပီ။ ေနာက္ရက္ေတြလည္း bat နဲ႔ ပတ္သက္လုိ႔ ဆက္ေရးေပးဖို႔ စာၿပန္ဖတ္ေနပါတယ္။ ေရးသင့္မေရးသင့္ကေတာ့ အခု Post တင္ၿပီး ၿပန္၀င္လာတဲ့
Feedback ေတြေပၚမူတည္ၿပီး ဆုံးၿဖတ္သြားမွာပါ။ Comment က အမ်ိဳးမ်ိဳးရနုိင္ေတာ့ က်ေနာ္ (၃) ရက္ ေစာင့္မယ္လို႔ ေမွ်ာ္မွန္းထားပါတယ္။ အဲလိုေစာင့္ရတာက
ေတာ့ က်ေနာ္က ဒီဖိုရမ္မွာတင္မဟုတ္ဘူး တၿခားဖိုရမ္ေတြမွာပါ လိုက္တင္ထားလို႔ပါ။ (၃) ရက္ဟာ လုံေလာက္တဲ့ Comment ရနုိင္တဲ့ အခ်ိန္လို႔ထင္လုိ႔ေစာင့္တာ
ၿဖစ္ပါတယ္။ အဲဒီ့ ေစာင့္ေနတဲ့ (၃) ရက္တာ ကာလအတြင္းမွာေတာ့ က်ေနာ့္အေနနဲ႔ Reversing Tutorial ေတြ ေရးမယ္လုိ႔ စိတ္ကူးထားပါတယ္။ Reverse
Engineering နဲ႔ ပတ္သက္လုိ႔ကေတာ့ က်ေနာ္ကိုယ္တုိင္လည္း စတင္ေလ့လာသူဆုိေတာ့ သိပ္မသိေသးလုိ႔ ေလ့လာမိသေလာက္ ေတြကိုသာ ေရးၿဖစ္ဦးမွာပါ။
ဒါေပမယ့္ အခု bat file လုိေတာ့ ဖိုရမ္ေတြမွာ လိုက္ၿပီးတင္မွာ မဟုတ္ပါဘူး။ က်ေနာ္ မေန႔ကမွ ဖြင့္လိုက္တဲ့ဘေလာ့ေလး နဲ႔ က်ေနာ့္ ဖိုရမ္မွာ တင္ၿပီးေတာ့ ၄ ခု ၊
 ၅ ခုေလာက္တစ္ခါ E-BOOK လုပ္ၿပီးမွ ဖုိရမ္ေတြမွာ ၿပန္မွ်ေ၀မယ္လို႔လည္းစိတ္ကူးထားပါတယ္။ ဒီစိတ္ကူးေတြ လက္ေတြ႔ ၿဖစ္မၿဖစ္ကေတာ့ က်ေနာ္ ကိုယ္တုိင္
ေတာင္ အေသအခ်ာ မသိလုိ႔ ကတိမေပးနုိင္ပါဘူး… အဲဒီ့ေတာ့ စိတ္ကူးအေနနဲ႔သာ ၾကိဳတင္ေၿပာထားရင္း ဒီေန႔ေတာ့ ဒီေလာက္နဲ႔ နားပါရေစဦး…
ေၾကာ္ျငာေလးေတြကို Click လုပ္ေပးဖို႕ ေတာင္းဆိုအပ္ပါတယ္။