Friday, November 12, 2021

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

ကျနော် တို့ရဲ့ TuT ကို ဆက်လက်ဆွေးနွေးကြရအောင်….

ဒီနေ့မှာတော့ Condition စစ်ခြင်းကိစ္စရပ်တွေနဲ့ ပါတ်သက်ပြီးဆွေးနွေးပေးသွားမှာဖြစ်ပါတယ်။ IF အကြောင်းကနေစတင်ဆွေးနွေးပါ့မယ်။ အရင်ရက်တွေက IF ကို Coding ထဲမှာ ထည့်သုံးခဲ့ဖူးပေမယ့် ကျနော် အသေးစိတ် ရှင်းပြခြင်းမရှိခဲ့ပါဘူး။ အဲဒီ့အတွက် If နဲ့ ပါတ်သက်ပြီးကျယ်ကျယ်ပြန့်ပြန့်သိနိုင်အောင် အခု ရှင်းပြပေးပါ့မယ်။ အရင်ရက်တွေက ကျနော်ရေးခဲ့တဲ့ ဟာတွေက Ref မရှိပေမယ့် ဒီတစ်ခါရေးတဲ့ဟာကတော့ ကျနော်ကိုယ်တိုင်လည်း ပြန်လည်စိတ်ပါ လာပြီး IF နဲ့ ပါတ်သက်လို့ အသေးစိတ်ရေးပေးချင်တဲ့ စိတ်လည်း ရှိတာကြောင့် Google ကနေရှာဖွေပြီး Ref လုပ်ပေးလိုက်ပါတယ်။

ကျနော်တို့ရဲ့ Batch File Programs တွေကို Intel ရှိစေဖို့နဲ့ ပိုမို အသုံးတည့်စေလိုတဲ့ အခါတွေမှာ If statement တွေကိုအသုံးချနိုင်ပါတယ်။ သူ့ကို အသုံးချခြင်းအားဖြင့် ကျနော်တို့ သတ်မှတ်ထားတဲ့ parameter တွေ Variable တွေကို စစ်ပြီးတော့ သက်ဆိုင်ရာ Task တစ်ခုစီကို အလုပ်လုပ်စေတာမျိုးတွေ ကိုလုပ်နိုင်ပါတယ်။ ဒါတင်မက သေးပါဘူး သူက ကျနော်တို့လိုချင်တဲ့ File ကို လိုချင်တဲ့နေရာမှာ ရှိမရှိကိုပါ စစ်ပေးနိုင်ပါသေးတယ်။ ခြုံငုံပြောရမယ်ဆိုရင်တော့ If ကို Variable တွေကို စစ်တဲ့ အခါမှာ သုံးတယ်လို့ အကြမ်းဖျင်းမှတ်နိုင်ပါတယ်။

IF ဖြင့် File ရှိမရှိကိုစစ်ဆေးခြင်း

File တစ်ခုကို ကျနော်တို့ လိုချင်တဲ့ နေရာမှာ ရှိမရှိကို စစ်ချင်တယ်ဆိုရင် အသုံးပြုလေ့ရှိတယ် If ရဲ့ ရေးပုံရေးနည်းကတော့…

IF EXIST FILENAME Command

ကျနော့် ရေးသားပုံအတိုင်း If ရဲ့ ရေးပုံရေးနည်းကို နားလည်လွယ်စေဖို့ ဥပမာနဲ့ ရှင်းပြပေးပါ့မယ်။ အောက်မှာ ပေးထားတဲ့ Code ကို Notepad ထဲမှာ ကူးထည့် လိုက်ပါ….

IF EXIST c:\autoexec.bat ECHO The File Exists at that place

အပေါ်က Code ရဲ့ အလုပ်လုပ်မယ့်ပုံစံကို လေ့လာကြည့်ရအောင်…

သူက c:\autoexec.bat ဆိုတဲ့ file ရှိမရှိကို စစ်ပါမယ် ၊ အကယ်လို့ရှိခဲ့မယ်ဆိုရင်တော့ echo နဲ့ ‘The File Exists at that place’ ဆိုပြီးတော့ ဖော်ပြပေးမှာဖြစ်ပြီး တော့ ၊ မရှိခဲ့ဘူးဆိုရင်တော့ ဘာအလုပ်မှဆက်လုပ်မှာ မဟုတ်ပါဘူး။Code ကို မရှင်းပြတော့ ဘဲ Program အလုပ်လုပ်မယ့် ပုံစံကို ရှင်းပြလိုက်တာ နားလည်လွယ် မယ်ထင်လို့ ကျနော် ပုံစံပြောင်းပြီးရှင်းပြရတာပါ။

အခုကျနော်တို့ အပေါ်က ဥပမာကို ပြန်ကြည့်လိုက်ပါ။ အကယ်လို့ File သာ မရှိတော့ရင် သူ အလုပ်မလုပ်တော့ပါဘူး။ အဲဒီ့လို မဖြစ်စေဖို့အတွက် ကျနော်တို့ဟာ else ပုံစံမျိုး အရေးအသားတစ်ခုထည့်ရေးလို့ရပါတယ်။ စဉ်းစားပုံကတော့ အကယ်လို့များ ကျနော်တို့ လိုချင်တဲ့ file ရှိမယ်ဆိုရင် အလုပ်တစ်ခု လုပ်ခိုင်းပြီးတော့ ၊ မရှိခဲ့ဘူးဆိုရင် နောက်အလုပ်တစ်ခုလုပ်ပါ ဆိုတာကို အရင်ရက်က ကျနော်ရေးပေးဖူးတဲ့ goto command ကို အသုံးပြုသွားမှာပါ။

ဘယ်လိုရေးကြမယ်ဆိုတာ နားလည်လွယ်စေဖို့ အောက်မှာ ရှိတဲ့ ဥပမာလေးကို လေ့လာကြည့်ရအောင်….

@echo off

IF EXIST C:\syko.txt goto SYKO

goto end

:SYKO

echo SYKO exists

pause

:end

echo SYKO doesn’t exist

pause

အပေါ်က ဥပမာကို Run လိုက်မယ်ဆိုရင် အလုပ်လုပ်မယ့် ပုံစံကတော့….

အကယ်လို့ C:\syko.txt သာရှိမယ်ဆိုရင် ကျနော်တို့ဟာ goto ကို သုံးပြီးတော့ SYKO ဆိုတဲ့ အပိုင်းတစ်ခုဆီလွှဲထားခဲ့ပါတယ်။ ဒါဆိုရင် File သာရှိရင် အဲဒီ့ SYKO ဆိုတာကို လုပ်မှာပါ။အဲ.. အကယ်လို့များ file သာမရှိခဲ့ဘူးဆိုရင် စစချင်းရေးခဲ့တဲ့ Program မှာ လိုရပ်သွားမှာဆိုးတဲ့ အတွက် goto end ဆိုပြီးတော့ နောက်တစ်လိုင်းစစ်ခဲ့ပါတယ်။ ထိုသို့ စစ်ခြင်းအားဖြင့် File မရှိတော့ရင် Program ရပ်သွားချင်းမှ ရှောင်ဖယ်နိုင်မှာဖြစ်ပြီးတော့ Program က နောက်တစ်လိုင်းကို အလိုလိုဆင်းဖတ်ပြီးတော့ end ဆိုတဲ့ အပိုင်းကို ရောက်သွားမှာပါ။ ဒါဆိုရင် User အတွက်လည်း doesn’t exist ဆိုတဲ့ message ကို ပြန်လည်မြင်စေမှာဖြစ်ပါ တယ်။

ဒီလောက်ဆိုရင် IF နဲ့ ဖိုင်ရှိတာကို စစ်ပုံစစ်နည်းနားလည်ပြီလို့ ထင်ပါတယ်။

ဆက်လက်ပြီးတော့ File မရှိတာကို စစ်ကြည့်ကြရအောင်

ရေးသားပုံကတော့ ခုနကနဲ့ တူတူပါဘဲ။

IF NOT EXIST FILENAME Command

ဥပမာလေးရေးကြည့်ရအောင်

IF NOT EXIST c:\syko.txt ECHO It doesn’t Exist

Code အလုပ်လုပ်ပုံကို အပေါ်မှာရှိတဲ့ exist နဲ့ တူတဲ့အတွက်ထပ်မရှင်းပြတော့ပါဘူး။

ဒီလောက်ဆိုရင် NOT ထည့်သုံးတာလည်း သိလောက်ပြီလို့ထင်ပါတယ်။

************************************************************************

သတိပြုရန်၊၊ ၊၊ ကျနော်တို့ဟာ တစ်ချိန်တည်းမှာပင် IF ကို အခါခါသုံးပြီးတော့ File ရှိမရှိစစ်လို့ရတယ်ဆိုတာကို သိစေလိုပါတယ်။ အသုံးပြုလို့ရအောင် တစ်ကြောင်း ရေးပြပါ့မယ်။

>>> IF EXIST c:\autoexec.bat IF EXIST c:\autoexec.bak ECHO Both Exist <<< ***********************************************


************** အပေါ်မှာကျနော် ရေးပြခဲ့တာတွေက File ရှိမရှိကိုဘဲ စစ်လို့ အဆင်ပြေတာပါ။ အကယ်လို့များ ကျနော်တို့ဟာ directories တစ်ခုရှိမရှိကို စစ်ချင်ပြီဆိုရင်တော့ အခက်တွေ့ပါပြီ။ အဲဒီ့လို အခြေအနေမျိုးမှာတော့ NULL ဆိုတာလေးက အသုံးတည့်ပြီပေါ့ဗျာ။ NULL ဆိုတာ ကတော့ ဘာမှမရှိတာပါ။ DOS ကနားလည်တာကတော့ Directory တစ်ခုမှာ NULL ဆိုတဲ့ Folder တစ်ခုရှိပါတယ်တဲ့။ (ကျနော်လည်းမသိဘူး Google ပြောတာ။ ) ဒါဆို ကျနော်တို့ c:\windows ဆိုတာများရှိလေမလားလို့ စစ်ဆေးကြည့်ရအောင်လားဗျာ။ အဲဒီ့လို စစ်ဆေးဖို့ကတော့ လွယ်လွယ်လေးပါ အပေါ်မှာ ကျနော်တို့ ရေးခဲ့သလို IF EXIST ကို ဖြည့်ရေးသွားရုံပါ။ အောက်က Code ကို ကြည့်လိုက်ပါ။ IF EXIST c:\windows\nul ECHO c:\windows exists အဲဒီ့လိုနည်းမျိုးနဲ့ဘဲ Drive တစ်ခုဟာ ခွင့်ပြုထားတဲ့ Drive ဟုတ်မဟုတ်စစ်နိုင်ပါသေးတယ်။ အောက်က Code ကို ကြည့်ကြည့်ပါ။ IF EXIST c:\io.sys ECHO Drive c: is valid ဒီ လောက်ဆိုရင် File ရှိမရှိကို IF နဲ့ စစ်ခြင်းနဲ့ ပတ်သက်လို့ အားလုံး စုံသွားပြီဖြစ်လို့ နောက်တစ်ခန်းမှာ User ရိုက်လိုက်တဲ့ Parameter တွေကို စစ်ပြီးတော့ အလုပ် လုပ်သွားပုံကို ရှင်းပြပါ့မယ်။

အခုတော့ နားလိုက်ပါဦးမယ်။

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

ကျနော်တို့ TuT ကို ပြန်စလိုက်ရအောင်….

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

နော်။ ကျနော့် မှာ ကိုးကားစရာစာအုပ်က မရှိတော့လို့ ဟိုရောက်ဒီရောက်နဲ့ ကျနော် သတိရပြီးတော့ သိသေးသမျှတွေရေးပေးနေတာပါ။ ဖတ်ရတာ အခက်အခဲ

တော့ နည်းနည်းရှိမယ်လို့ထင်တယ်။ နားလည် ပေးမယ်လို့ထင်ပါတယ်။

ဟုတ်ကဲ့ပါ အခု ကျနော် ရေးပေးမှာကတော့ Windows Application တစ်ခုကို ဘယ်လို ခေါ် Run မလဲဆိုတာပါ

အောက်မှာပေးထားတဲ့ Code ကို Notepad မှာရိုက်ထည့်ကြည့်ပါ့မယ်…

@echo off

echo I am testing to call Notepad.exe

start /MIN notepad

pause

အဲဒါကို save ပြီးတော့ Run မယ်ဆိုရင်တော့ အောက်မှာ ပြထားတဲ့ အတိုင်းပေါ်လာပါလိမ့်မယ်။

I am testing to call Notepad.exe

(အဲဒါလာပြီးရင် Notepad က minimized အနေအထားနဲ့ ပေါ်လာပါလိမ့်မယ်။ /MIN နေရာမှာ /MAX လို့ထားရင်တော့ maximized အနေအထားနဲ့ ပေါ်မှာပါ)

Press any key to continue…

နောက်တစ်ဆင့်အနေနဲ့ batfile ထဲကနေ ထွက်ဖို့ အချိန်သတ်မှတ်ပေးကြည့်ရအောင်

အောက်မှာပေးထားတဲ့ Code လေးတွေကို Notepad ထဲမှာရေးပေးပါ

@echo off

echo i am trying timeout

set wait=0

:pause1

set /a wait=%wait%+1

if %wait% leq 1000 goto pause1

echo IT WORKED!!!

pause

ဒီ Code တွေကို နားမလည်ဘူးဆိုရင်တော့ Copy Paste သာလုပ်ပြီးတော့ Notepad ထဲကို ထည့်လိုက်ပါတော့။

ကျနော် အပေါ်မှာရေးဖူးတဲ့ နှစ်ခုထဲမှာ set အကြောင်း အနည်းငယ်ပါပြီးတော့ if နဲ့ condition စစ်တာလည်း ပါသလို

:pause1 လိုမျိုး Function ခွဲရေးတာလည်း ဘာဆိုတာ ပါပါတယ်။ အဲဒီ့တော့ ဒါကို နားမလည်ရင်လည်း အဲဒါလေးတွေ ပြန်ကြည့်လိုက်ရင် အကြမ်းဖျင်းတော့ 

သဘောပေါက်မှာပါ။% တွေ /a တွေနဲ့ ကျန်တဲ့ နားမလည်တာတွေကို ချန်ထားခဲ့ပါ။ အကယ်လို့ ကျနော် အချိန်ရရင် Parameter တွေ အကြောင်းကို ကျယ်ကျယ်

ပြန့်ပြန့် ထပ်ဆွေးနွေးပေးပါ့မယ်။ ခုတော့ ဒီတိုင်း သဘောပေါက်ရုံလောက်လေး ထားပြီး အဲဒါလေးကို Save ပြီးရင် Run လိုက်ပါ။ အောက်မှာ ပြထားတဲ့ အတိုင်း

ပေါ်လာပါလိမ့်မယ်…

I am trying timeout

(ပြီးရင်တော့ စက္ကန့် နည်းနည်းလောက်စောင့်ရပါလိမ့်မယ်) (အဲဒါကတော့ :pause1 ထဲမှာ ရေးထားတဲ့ Code ကြောင့်ပါ။)(အဲဒါကို စောင့်ပြီးရင်တော့ နောက်

တစ်ကြောင်းလာပါလိမ့်မယ်)

IT WORKED!!!

Press any key to continue…

ဒါဆိုရင်တော့ စက္ကန့် ဖြစ်ဖြစ် မိနစ်ဖြစ်ဖြစ် သတ်မှတ်ပြီးတော့ batch file run တာကို ရပ်ခြင်းအား ကျနော်တို့ စမ်းသတ်ပြီးပါပြီ။ ဘယ်လို အလုပ်လုပ်တယ်ဆိုတာ

လည်း နားလည်မယ်လို့ထင်ပါတယ်။

ကျနော် နောက်ထပ် တစ်ဆင့်အနေနဲ့ TIME ဆိုတဲ့ Command အကြောင်းကို ရှင်းပြပေးပါ့မယ်

အောက်မှာ ပေးထားတဲ့ Code တွေကို Notepad ထဲမှာ ရေးလိုက်ပါ…

@echo off

echo Hello…. What time it is!!!

TIME 12:00

echo oHH it is 12:00

pause

အဲဒါကို Save ပြီး Run မယ်ဆိုရင်တော့ အောက်မှာ ပြထားသလို မြင်ရပါလိမ့်မယ်…

Hello…. What time it is!!!

oHH it is 12:00

ဒါဆိုရင် TIME က ဘာအလုပ်လုပ်လည်း ဆိုတာ သိပြီလို့ထင်ပါတယ်။ စက်ရဲ့ အချိန်ကို ပြောင်းပေးတာပါ။

နောက်တစ်ဆင့်အနေနဲ့ ကျနော်တို့ DOS ထဲမှာ ပြမယ့် စာသားတွေနဲ့ နောက်ခံတွေ ကို အရောင်လေးတွေနဲ့ အလှဆင်ကြည့်ကြပါမယ်။

အောက်မှာ ပေးထားတဲ့ Code တွေကို Notepad ထဲကူးပြီး Save ပြီး Run လိုက်ပါ။

@echo off

echo I am trying the colors

pause

color 04

echo testing

pause

color f

echo again

pause

color 4f

echo DONE

pause

Run လိုက်ရင် ဘယ်လိုဖော်ပြတယ်ဆိုတာတော့ ကိုယ့်ဟာကိုယ် လုပ်ကြည့်လိုက်ပါ။ ကျနော် Code တွေကို ဘဲရှင်းပြပေးပါတော့မယ်။

color ဆိုတာကတော့ အရောင်သတ်မှတ်တယ်ဆိုတာ လူတိုင်း သိပါလိမ့်မယ်။ သူ့နောက်မှာ ထည့်တဲ့ Code တွေကို ရှင်းပြပါ့မယ်။

04= background black နဲ့ font ကို red ထားတာပါ

f = font ကို white ထားတာပါ

4f = background red နဲ့ f ကို white ထားတာပါ

ပိုပြီး အသေးစိတ်သိချင်ရင်တော့ Run>>cmd>>color /? ဆိုပြီးရိုက်လိုက်ပါ။

0=balck

1=blue

2=green

3=aqua

4=red

5=purple

6=yellow

7=white

8=gray

9=light blue

a=light green

b=light aqua

c=light red

d=light purple

e=light yellow

f=bright white

အဲဒီ့လိုဖော်ပြပါလိမ့်မယ်။ အဲဒါတွေကို ခုနက ကျနော်တို့ သုံးသလိုမျိုး color 9f စသည်ဖြင့် တွဲသုံးနိုင်ပါတယ်။

ရှေ့မှာထားတဲ့ ဟာက Back Color ဖြစ်ပြီးတော့ နောက်ကဟာက Font Color ဖြစ်ပါတယ်။

ဒီလောက်ဆိုရင်တော့ Color တွေ အကြောင်းသိနိုင်ပါပြီ။ ဉာဏ်ရှိသလို ချဲ့ထွင်အသုံးချ သွားနိုင်ပါတယ်။

အခုနောက်တစ်ဆင့်အနေနဲ့ Title ပြောင်းတာကို ပြောပြပေးပါ့မယ်

အောက်က Code တွေကို Notepad ထဲမှာရေးပြီး Save လိုက်ပါ။

@echo off

title Myanmar IT Resource

echo Trying to change the title

pause

အဲဒါကို Run လိုက်ရင်တော့ Title Bar မှာ Myanmar IT Resource ဆိုပြီးဖော်ပြပါလိမ့်မယ်

နောက်တစ်ဆင့် အနေနဲ့ Shutdown နဲ့ Restart ကို စမ်းကြည့်ကြပါမယ်။

@echo off

start C:\Windows\RUNDLL.EXE user.exe,exitwindowsexec

exit

အဲဒီ့ အပေါ်ကကောင်လေးကို save ပြီး Run မယ်ဆိုရင်တော့ Restart ကျသွားပါလိမ့်မယ်။

@echo off

start C:\Windows\RUNDLL32.EXE user,exitwindows

exit

အပေါ်ကဟာလေးကို Run ရင်တော့ Shutdown ပါ.

နောက်ထပ် နည်းတွေလည်း ရှိပါသေးတယ်။ တခြားနည်းတွေက လူတိုင်းသိပြီးသားတွေမို့လို့ ဒီနည်းလေးကို ဖော်ပြပေးလိုက်တာပါ။ code တွေကတော့ ရှင်းရှင်း

လင်းလင်းတွေ မို့လို့ လူတိုင်းနားလည်မယ်ထင်လို့ ထပ် မရှင်းပြတော့ဘူးနော်။ နားမလည်လောက်စရာလည်း မပါဘူးလို့ထင်ပါတယ်။ဒီနေ့တော့ ကျနော့် TuT ကို 

ဒီလောက်နဲ့ ရပ်နားပါရစေ။ နောက်နေ့တွေမှာ For နဲ့ Looping ပတ်တာကို အသေးစိတ်ရှင်းပြသွားပါမယ်။ လိုအပ်တာရှိရင်လည်းဖြည့်စွက်ပြောပေးကြပါ။ 


စာဖတ်သူ အားလုံးကို ကျေးဇူးတင်စွာဖြင့် ..... 😍😍


 

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 လုပ်လိုက်တာပါ။

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