Sunday, January 16, 2022
BAT File သင်ခန်းစာ (၅)
ဒီနေ့တော့ 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 off
echo 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 လေးတွေရေးကြည့်ကြပါ ..... ပျော်ဖို့ကောင်းပါတယ်။
စောင့်မျှော်ဖတ်ရှုပေးသူများကို ကျေးဇူးတင်လျက်…
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment