Bat files အေၾကာင္းကုိ သိခ်င္
ေလ႕လာခ်င္တဲ႕ သူငယ္ခ်င္းမ်ားအတြက္ ကုိယ္တုိင္းေရးမဟုတ္ေပမဲ႕
ကၽြန္ေတာ္ကုိယ္တုိင္ မသိခင္က စေလ႕လာမိခဲ႕တဲ႕ ဆုိဒ္မွ မွတ္စုအေနနဲ႕
ကူးထားခဲ႕တာေလးပါ။ အဲ႕ဒီဆုိဒ္ကုိ ညြန္းခ်င္ေပမဲ႕လည္ လက္ရွိ ဆုိဒ္လိပ္စာကလည္
မေတြ႕ေတာ႕တာေၾကာင္႔ စာေရးသားသူအေနနဲ႕ နားလည္ေပးမယ္လုိ႕ ယုံၾကည္ပါတယ္။
ဒီသင္ခန္းစာကုိ ကၽြန္ေတာ္ ကုိယ္တုိင္း ေရးသားထားတာ မဟုတ္တာကုိေတာ႕
ရုိးသားစြာ ၀န္ခံပါတယ္။ ဒါေၾကာင္႔ မသိမနားလည္ရင္ေတာ႕ ေမးျမန္းႏုိင္ပါတယ္။
အကၽြမ္းက်င္ဆုံး အဆင္႔ မဟုတ္ေပမဲ႕ တက္ႏုိင္သမွ် ရွင္းျပေပးပါမည္။ မႈရင္း
အေရးအသား အတုိင္း မျပင္ မျဖည္႔စြတ္ဘဲ တင္ျပလုိက္ပါတယ္။
ဒီေန႔ေတာ့
If ကဲ့သုိ႔ပင္ Condition စစ္ေသာ Choice Command အေၾကာင္းရွင္းၿပေပးပါ့မယ္။
ဒီတစ္ေခါက္ Choice Command အေၾကာင္းကေတာ့ ဘာသာၿပန္ထားၿပီးေတာ့
က်ေနာ့္ေရးပံုေရးနည္းဘက္ကို နည္းနည္း ၿပန္ေၿပာင္းထားပါတယ္။
မူရင္းေရးသားသူကေတာ့ ဘယ္သူမွန္းမသိေပမယ့္ CHOICE နဲ႔ ပတ္သက္ၿပီးေတာ့
သူေရးထားတဲ့ မူရင္းကေတာ့ ေတာ္ေတာ္ေကာင္းတယ္ဗ်… အကယ္လို႔ မ်ား Choice နဲ႔
ပတ္သက္ၿပီး နားမလည္ခဲ့ရင္ေတာ့ က်ေနာ့္ ရဲ႕ ဘာသာၿပန္ညံ့ဖ်င္းမႈနဲ႔ အတူ
မူရင္းေရးသားပံုေရးသားနည္းကေန က်ေနာ့္ေရးပံုေရးနည္းကို
ေၿပာင္းလိုက္တဲ့အခါမွာၿဖစ္လာတဲ့ လိုအပ္ခ်က္ေၾကာင့္ မေကာင္းၿခင္းလို႔သာ
မွတ္ယူေပးပါ။
CHOICE command ကို မေၿပာခင္ က်ေနာ္တုိ႔ Error Level အေၾကာင္းကို အရင္ေဆြးေႏြးၾကည့္ပါမယ္။
Error Level ဆုိတာကေတာ့ Program က သူၿပီးဆုံးသြားတဲ့ အခ်ိန္မွာ သတ္မွတ္လိုက္တဲ့ အခ်က္တစ္ခ်က္ပါ။
ဥပမာ…
က်ေနာ္တုိ႔ ဟာ bat file တစ္ခုကို run ေနစဥ္မွာ Program မၿပီးဆုံးေသးဘဲနဲ႔
CTRL+C ကို ႏွိပ္လုိက္လို႔ ရပ္သြားရတဲ့ ၿဖစ္ရပ္မ်ိဳးမွာ ဆုိရင္ Error Level
ကို 3 လို႔ သတ္မွတ္ပါတယ္။ အဲလိုမဟုတ္ဘဲနဲ႔ Program ဟာ သူ႔ လုပ္ငန္းအားလုံး
ၿပီးဆုံးသြားလို႔ ပံုမွန္ ၿပီးဆုံးၿခင္းမ်ိဳးနဲ႔ ဘာအေႏွာက္အယွက္မွ
မရိွဘဲၿပီးခဲ့ရင္ေတာ့ Error Level ကို 0 ဟု သတ္မွတ္ပါတယ္။ Error Level
ေတြဟာ သူ႔ဟာနဲ႔သူ သီးၿခားရပ္တည္ေနတဲ့ အခါမ်ိဳးမွာေတာ့ ဘာမွ
ၿပႆနာမရိွနုိင္ေပမယ့္ (သို႔) အသံုးမ၀င္နုိင္ေပမယ့္ သူတုိ႔ကို CHOICE
ဒါမွမဟုတ္ IF ERROR LEVEL တုိ႔နဲ႔ တြဲလိုက္တဲ့ အခါမွာေတာ့ သူတုိ႔ဟာ
အရမ္းကို ****** လာပါလိမ့္မယ္။
CHOICE
command ကေတာ့ Keyboard ကေနၿပီးေတာ့ user က ရိုက္ထည့္တာေတြကို
လက္ခံၿပီးေတာ့ key တစ္ခုခု ႏွိပ္လိုက္တဲ့ အခါမွာ error level ကို
ထုတ္ေပးမွာၿဖစ္ပါတယ္။ သူ႔ရဲ႕ ေရးပုံေရးနည္းကေတာ့ CHOICE
[string][/C:keys][/S][/N][/T:key,secs]အဲဒီ့ Code ေတြတစ္ခုခ်င္းဆီရဲ႕
အဓိပၸါယ္ကို ရွင္းၿပပါ့မယ္။ string ဆုိတဲ့ အပိုင္းက
သိပ္ေတာ့အေရးမၾကီးပါဘူး။ သူက CHOICE command run တဲ့အခါမွာ လိုခ်င္တဲ့
စာသားတစ္ခုခုကို ၿပသေပးယံုပါ။
/C:keys ဆုိတာကေတာ့ User က
ရိုက္လုိက္မယ့္ ၿဖစ္နုိင္ေခ်ရိွတဲ့ key ေတြကို ညႊန္းတာပါ။ အကယ္လို႔သာ key
ေတြကို ၾကိဳတင္မသတ္မွတ္ထားဘူးဆုိရင္ေတာ့ သူ႔ရဲ႕ default က Y/N ၿဖစ္ပါတယ္။
ေအာက္က ဥပမာေလးကို ေလ့လာၾကည့္ရေအာင္ပါ….CHOICE /C:A1T0
အေပၚက
Code မွာ ဆုိရင္ေတာ့ က်ေနာ့္တို႔ဟာ A ၊ 1 ၊ T နဲ႔ 0 တုိ႔ကို
ၿဖစ္နုိင္ေခ်ရိွတဲ့ key ေတြအေနနဲ႔ သတ္မွတ္ထားပါတယ္။ Program ကို run
လုိက္တဲ့ အခ်ိန္မွာ User က သာ က်ေနာ္တုိ႔ မသတ္မွတ္ထားတဲ့ key တစ္ခုခုကို
ႏွိပ္လုိက္မယ္ဆုိရင္ေတာ့ User အေနနဲ႔ တီ ဆုိတဲ့ အသံေလးၾကားရမွာၿဖစ္ၿပီးေတာ့
Program ကေတာ့ သူလိုအပ္တဲ့ အေၿဖမေရာက္လာမခ်င္း ဆက္ run ေနပါလိမ့္မယ္။
ဒါဆုိရင္ေတာ့ /C:keys အပိုင္းကို သိပါၿပီ။
ေနာက္တစ္ခုအေနနဲ႔
/S ကိုရွင္းၿပေပးပါ့မယ္။ သူကေတာ့ က်ေနာ္တုိ႔ ခုနက /C:keys အပိုင္းမွာ
ၾကိဳတင္သတ္မွတ္ထားတဲ့ key ေတြကို case sensitive အၿဖစ္သတ္မွတ္တာပါ။
ထုိသို႔သတ္မွတ္ခ်င္းအားၿဖင့္ က်ေနာ္တို႔ Program ဟာ A (အၾကီး)
ဟုသတ္မွတ္ထားပါက user မွ A (အၾကီး) ကို လက္ခံမရရိွမၿခင္း
အလုပ္မလုပ္ေတာ့ပါဘူး။ ထုိ႔ေၾကာင့္ A ခ်င္းတူတာေတာင္မွ အလုပ္မလုပ္တဲ့
အၿဖစ္ကို ေတြ႔ရိွရမွာပါ။
/N
အေၾကာင္းရွင္းၿပပါ့မယ္။ /N ဆုိတာကေတာ့ က်ေနာ္တုိ႔ ခုနက code ကို run
တုန္းမွာ ေတြ႔ရမယ့္ [A,1,T,0]? ဆုိတာ ကို မေတြ႔ရေတာ့ဘဲနဲ႔
အမည္းေရာက္ေၿပာင္ကိုဘဲေတြ႔ရမွာပါ။ ထုိသို႔ /N ခံၿခင္းအားၿဖင့္ က်ေနာ္တုိ႔
ဘာကို ၾကိဳတင္သတ္မွတ္ထားတယ္ဆုိတာ ကို မသိရေတာ့ပါဘူး။ ၿပီးေတာ့
စိတ္ၾကိဳက္စာသားနဲ႔လည္း User ဆီကေန key တစ္ခုစီကို လက္ခံနုိင္ပါလိမ့္မယ္။
ဥပမာ…
@echo offecho Please Choose Yes[Y] or No[N]
CHOICE /C:YN /N
အဲဒါဆုိရင္ေတာ့့ Please Choose Yes[Y] or No[N] ဆုိၿပီးေတာ့ သာ အမဲေရာင္ screen ေပၚမွာ ၿပသေပးမွာပါ။
/N ပါတာမပါတာကို ခုထိနားမလည္ရင္ေတာ့ အေပၚက ဥပမာမွာ /N ၿဖဳတ္ၿပီးသာ run လုိက္ပါ။ သိရပါလိ့မ္မယ္။
/T:key
အေၾကာင္းဆက္လက္ ရွင္းၿပေပးပါ့မယ္။ သူကေတာ့ default key ကို
ရည္ညႊန္းပါတယ္။အကယ္လို႔မ်ား က်ေနာ္တုိ႔ ၾကိဳတင္သတ္မွတ္ထားတဲ့ key
တစ္ခုခုထဲက user က တစ္ခုမွ မေရြးဘဲ ဒီတုိင္းထားရင္ အခ်ိန္ကန္႔သတ္ခ်က္
တစ္ခုကို ေ၇ာက္တဲ့ အခါမွာေတာ့ /T နဲ႔ program ကို default key တစ္ခုကို
ေရြးခုိင္းလုိက္တာပါ။ ဥပမာအားၿဖင့္….
CHOICE Choose Browser /C:NI /T:I=.5
အေပၚက
Code ကို run မယ္ဆုိရင္ေတာ့ Choose Browser[N,I]? ဆုိၿပီးၿပမွာပါ..
အကယ္လို႔ User က ၅ စကၠန္႔အတြင္း ဘယ္ key ကိုမွ မေရြးခဲ့ဘူးဆုိရင္ေတာ့
Program က default အေနနဲ႔ I ကို ေရြးလုိက္မွာပါ။
ဒီေလာက္ဆုိရင္ေတာ့
Choice Command ကို အၾကမ္းဖ်င္းသိေလာက္ၿပီထင္ပါတယ္။ ေနာက္ေန႔မွာေတာ့
CHOICE နဲ႔ အတူ IF ERROR LEVEL ဆုိတဲ့ Command ကို အသံုးၿပဳၿပီးေတာ့ error
level သတ္မွတ္တဲ့ ပံုစံကို ရွင္းၿပေပးပါ့မယ္။ ဒီေန႔ေတာ့ CHOICE နဲ႔
တင္ရပ္ထားပါ့မယ္။ CHOICE နဲ႔ ပတ္သက္ၿပီး အိမ္မွာ ကိုယ့္ဟာကိုယ္ .bat
ေလးေတြေရးၾကည့္ၾကေပ့ါ… ေပ်ာ္ဖို႔ေကာင္းပါတယ္။
ေစာင့္ေမွ်ာ္ဖတ္ရႈေပးသူမ်ားကို ေက်းဇူးတင္လ်က္…
SYKO
No comments:
Post a Comment
အခုလို လာေရာက္အားေပးၾကတာ အထူးပဲ ၀မ္းသာ ပီတိျဖစ္ရပါတယ္ဗ်ား ... ။ေက်းဇူးအထူးတင္ပါတယ္။
ေက်ာ္ထက္၀င္း နည္းပညာ (ဘားအံ)
www.kyawhtetwin.blogspot.com