Friday, October 22, 2010

Bat Files သင္ခန္းစာ (၃)


Bat files အေၾကာင္းကုိ သိခ်င္ ေလ႕လာခ်င္တဲ႕ သူငယ္ခ်င္းမ်ားအတြက္ ကုိယ္တုိင္းေရးမဟုတ္ေပမဲ႕ ကၽြန္ေတာ္ကုိယ္တုိင္ မသိခင္က စေလ႕လာမိခဲ႕တဲ႕ ဆုိဒ္မွ မွတ္စုအေနနဲ႕ ကူးထားခဲ႕တာေလးပါ။ အဲ႕ဒီဆုိဒ္ကုိ ညြန္းခ်င္ေပမဲ႕လည္ လက္ရွိ ဆုိဒ္လိပ္စာကလည္ မေတြ႕ေတာ႕တာေၾကာင္႔ စာေရးသားသူအေနနဲ႕ နားလည္ေပးမယ္လုိ႕ ယုံၾကည္ပါတယ္။ ဒီသင္ခန္းစာကုိ ကၽြန္ေတာ္ ကုိယ္တုိင္း ေရးသားထားတာ မဟုတ္တာကုိေတာ႕ ရုိးသားစြာ ၀န္ခံပါတယ္။ ဒါေၾကာင္႔ မသိမနားလည္ရင္ေတာ႕ ေမးျမန္းႏုိင္ပါတယ္။ အကၽြမ္းက်င္ဆုံး အဆင္႔ မဟုတ္ေပမဲ႕ တက္ႏုိင္သမွ် ရွင္းျပေပးပါမည္။ မႈရင္း အေရးအသား အတုိင္း မျပင္ မျဖည္႔စြတ္ဘဲ တင္ျပလုိက္ပါတယ္။

က်ေနာ္တုိ႔ 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 ပတ္တာကို အေသးစိတ္ရွင္းၿပသြားပါမယ္။ လုိအပ္တာရိွရင္လည္း ၿဖည့္စြက္ေၿပာေပးၾကပါ။ သိခ်င္တာရိွရင္ ၊ က်ေနာ့္ကို ေရးေစခ်င္တာရိွရင္လည္း ေမးခဲ့ ၊ ေၿပာခဲ့ၾကပါ။ က်ေနာ္ တတ္နုိင္သေလာက္ လုပ္ေပးသြားပါ့မယ္။ က်ေနာ္ သိရင္သိတယ္ မသိရင္မသိဘူး ရွင္းရွင္းလင္းလင္းေၿပာေပးပါ့မယ္။
စာဖတ္သူ အားလုံးကို ေက်းဇူးတင္စြာၿဖင့္

written by SYKO

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes