Wednesday, November 3, 2021

Bat file အလွယ်တကူ ရေးသားနည်း သင်ခန်းစာ (၁)

Bat files အကြောင်းကို သိချင် လေ့လာချင်တဲ့ သူငယ်ချင်းများအတွက် ကိုယ်တိုင်းရေးမဟုတ်ပေမဲ့ ကျွန်တော်ကိုယ်တိုင် မသိခင်က စလေ့လာမိခဲ့တဲ့ ဆိုဒ်မှ မှတ်စုအနေနဲ့ ကူးထားခဲ့တာလေးပါ။ အဲ့ဒီဆိုဒ်ကို ညွန်းချင်ပေမဲ့လည် လက်ရှိ ဆိုဒ်လိပ်စာကလည် မတွေ့တော့တာကြောင့် စာရေးသားသူအနေနဲ့ နားလည် ပေးမယ်လို့ ယုံကြည်ပါတယ်။ ဒီသင်ခန်းစာကို ကျွန်တော် ကိုယ်တိုင်း ရေးသားထားတာ မဟုတ်တာကိုတော့ ရိုးသားစွာ ဝန်ခံပါတယ်။ ဒါကြောင့် မသိမနားလည် ရင်တော့ မေးမြန်းနိုင်ပါတယ်။ အကျွမ်းကျင်ဆုံး အဆင့် မဟုတ်ပေမဲ့ တက်နိုင်သမျှ ရှင်းပြပေးပါမည်။ မှုရင်း အရေးအသား အတိုင်း မပြင် မဖြည့်စွတ်ဘဲ တင်ပြ လိုက်ပါတယ်။ ကောင်းသောအသုံးပြုခြင်းနှင့် အသုံးပြုစေလိုပါတယ်။

ကဲစလိုက်ရအောင်ဗျာ

1. @echo off , @echo on

@echo off ဆိုတာ စာတန်းမပေါ် စာတန်းဖျောက်

@echo on ဆိုတာ file location တွေ အကုန်ပါ

2. pause

pause ဆိုတာ ဖော်ပြချင်တဲ့ စာတွေရဲ့ အဆုံးမှာ ထည့်ပေးရတယ်။ press any key to continuous မှာ ဆုံးတယ်။

3. cls , msg (cls – Cleaner Screen , msg – Message ) Cls ကတော့ နောက်မှာ echo လိုက်တယ်ပြီးရင်တော့ ထည့်ချင်တဲ့ စာသားထည့်မယ်။ key တစ်ခုခုကို နှိပ်လိုက်ပြီဆိုတာနဲ အရင်ကထည့်ထားတဲ့ @echo on off က စာတွေပျောက်ပြီး Cls နောက်က echo စာတွေ အစားထိုးတွေ့ရမယ်။

Msg ကတော့ သူ့နောက်မှာ space * space လိုက်တယ် ပြီးရင်တော့ ထည့်ချင်တဲ့ စာသားထည့်လိုက်ပါ။ key နှိပ်လိုက်ရင် Message Box တစ်ခုပုံစံနဲ့ ကျလာပါမယ်။

4. rem , start

Rem ဆိုတာကတော့ တကယ်တော့ remark ဖြစ်ပါတယ်။ bat file run နေတုန်းမှာ မမြင်ရပါဘူး။ * သူက ပုံဖွင့်ဖို့ file လမ်းကြောင်းရှာပေးတာဖြစ်နို်င်ပါတယ်။* Start ဆိုတာကတော့ ကိုယ်ဖွင့်ချင်တဲ့ file ကို ဖွင့်လိုက်တာဖြစ်ပါတယ်။ start နောက်မှာ file name and file type ထည့်ပေးရပါတယ်။ နောက်ဆုံးမှာတော့ pause ။

5. go , set and if


BAT File သင်ခန်းစာ (၁)

ဘာရယ်လို့မဟုတ်ပါဘူး ဒီနေ့ဘာတင်ရ မလဲစဉ်းစားရင်း အခြေခံကစကြတာပေါ့။ ပထမဆုံး notepad ကိုခေါ်ပါ။batch file ရေးနည်းက programmingအာလုံး .bat နဲ့ဆေ့ရမယ်။ ဥပမာ name.bat

(၁)။ code: start

start ဆိုတာဟာ စတင်ချင်းပါဒါတော့လူတိုင်းသိပါတယ်။ဒါပေမယ့် .bat file ရေးတဲ့အခါမှာ တော့ကိုယ်က ဖွင့်စေချင်တာကို ခိုင်းတဲ့ ကွန်မန်း ဖြစ်ပါတယ်။ စရေးကြည့်ရအောင်။

@echo off

start notepad

ဒါက notepad ကိုဖွင့်ဖို့လို့ခိုင်းစေတာဖြစ်ပါတယ်။

နောက်တစ်မျိုး

@echo off

start www.example.blogspot.com

ဆိုက်တစ်ခုကိုဖွင့်တာပါ။

(၂)Loop (repeat)

code: :X

goto:X

စမယ် ဒါကထပ်ခါထပ်ခါသွားတာလို့ခေါ်တယ်။သုံတတ်ရင် virus ပေါက်စတစ်ကောင်ဖြစ်နိုင်တယ်။စမယ်။


@echo off

:X

start notepad

goto :X

နည်းနည်းရှင်းပြပါမယ်။ @echo off က အမြင်ရှင်းအောင်လို့ display မရှပ်အောင်လို့ လူတိုင်းနားလည်ပြီးသားပဲ။ :X ကတော့ subprogram တစ်ခုကိုအမည်ပေးလိုက်တာပါ။ မြန်မာလိုပြောရင် အပိုဒ်ခွဲတစ်ခုပေါ့။ ဒါဆိုရင် အတော်နားလည်လောက်ပါပြီ :Xဆိုတဲ့ subprogram ကဘာကိုဖွင့်မလဲဆိုရင် notepad ကိုဖွင့်မှာပါ။ goto ကတော့ loop ပြန်ခေါ်တာပါ။ကျွန်တော်ရေထားတာက :X ကိုပြန်သွာခိုင်းလိုက် ပါတယ်။ဒါဆိုရင် ဒီပရိုဂရမ်လေးက notepad တွေချည်းဆက်တိုက်ဖွင့်နေပါလိမ့်မယ်။ မရပ်မချင်းပေါ့ဗျာ။ ခပ်ကြီးကြီးလေး extension ဆွဲကြည့်ရအောင်။

@echo off
:X
start notepad
start cmd
start www.example.blogspot.com
start www.facebook.com
start www.google.com
goto :X
ဒါဆိုရင်သင့်စက်အလုပ်ရှုပ်သွားပါလိမ့်မယ်။အရိုးရှင်းဆုံးက အကောင်းဆုံးပါပဲ။ မှတ်ချက် :X နေရာမှာသင့်စိတ်ကြိုက်ပေးနိုင်ပါတယ်။ဥပမာ

:A
:Loop
:a
:f
ကြိုက်ရာပေးပါ။

(၃)Copy a file

ဖိုင် တစ်ခုကိုတစ်ခြား name တစ်ခုနဲ့ လွယ်လင့်တစ်ကူ copy လုပ်ကြရအောင်။


code:cd ( path location)

copy 1.bmp copied.bmp


ဒါလေးကိုရေးရင် file extension ကိုနားလည်ရမှာပါ။အဲဒီအကြောင်းကို ပို့တစ်ခုရေးပါဦးမယ်။ ကဲစလိုက်ရအောင်


@echo off
cd C:\
copy index.jpg copyed.jpg
ကဲရှင်းပြပါဦးမယ်။ @echo off ကတော့သိပြီးသာဖြစ်မှာပါ။ cd C:\ ဆိုတာpath location ဖြစ်ပါတယ်။ကိုယ်copy ကူးမယ့်ဖိုင်ရှိမယ့်နေရာဖြစ်ပါတယ်။:D\,:E\ စလို ဖြစ်နီုင်ပါတယ်။ copy ဆိုတဲ့ကုတ်ကတော့ ရှင်းပါတယ်။နောက်ကစာကြောင်းတွေကတော့ ဖိုင်နာမည်တွေဖြစ်ပါတယ်။ဒီနေရာမှာ ကိုယ်ပေးချင်သလို ပေးလို့မရပါဘူး။copy index.jpg copyto.jpg ဆိုတဲ့စာကြောင်းမှာ underline တား ထားတဲ့ key words တွေက ကိုယ် copy ကူးမယ့်ဖိုင် name ပါ။ သူ့နောက်က copyed.jpg ကတော့ result file name ပါ။သူကြတော့ ကြိုက်ရာအမည်ပေးလို့ရပါတယ်။အောက်မှာပုံနဲ့ပြထားပါတယ်။ဒါကိုသုံးရင် path location မှန်ရမယ်။ ကို်ယ်ကူးမယ့် ဖိုင်နာမည်မှန်ရမယ်။ဖိုင်ရ extension မှန်ရမယ်။
ဥပမာ

.bat

.bmp

.exe

.jpg

.rar

.zip

အစရှိသလိုပေါ့။

ပုံမှာကြည့်ပါ။ ဒါက C: ထဲမှာရှိတဲ့ index ဆိုတဲ့ ဓါတ်ပုံဖိုင်လေးကို copied ဆိုတဲ့ ဖိုင်လေးအဖြစ်copy လုပ်လိုက်တာပါ။

ယနေ့တော့ဒီလောက်ပါပဲ။အမှားပါရင် ခွင့်လွတ်ပါ။

No comments:

Post a Comment