Powered by Blogger.

Popular Posts

RSS

bat file တြက္ parameter 15ခုရွင္းလင္းခ်က္

×××××××××××××××××××××××××××××××××××××××××××××××××××

ကိုယ့္ဘာသာကိုေရးတတ္ခ်င္သူမ်ားအတြက္ parameter 15 ခုရဲ႕ အသံုး၀င္ပံု/ခ်ပံု မ်ားကို ေလ့လာႏိုင္ေအာင္ ကူးယူတင္ျပေပးလိုက္ပါတယ္...�1. @echo off�ဒါကေတာ႔ Script ရဲ႕ အစပိုင္းမွာေရးသားရတဲ႕ စကားလံုးပါ။ ကၽြန္ေတာ္တို႔ Win+R ကိုႏွိပ္လိုက္ရင္ Run Dialogbox က်လာပါမယ္။ အဲ႕ဒီအထဲမွာ cmd လို႔ရိုက္ထည့္လိုက္ၿပီး Enter ေခါက္လိုက္ရင္ Windows Command Prompt ေပၚလာပါတယ္။ အဲ႕ဒီ Cmd ရဲ႕ Dos Mode မွာဆိုရင္ C:\Documents and Settings\Admin စတဲ႕စာတန္းႀကီးေပၚေနပါလိမ္႔မယ္။ ကၽြန္ေတာ္တို႔ Script ေတြနဲ႕ အလုပ္လုပ္တဲ႕ အခ်ိန္မွာ အျမင္ရွင္းရွင္းေလးနဲ႕ အလုပ္လုပ္လို႔ရေအာင္ @echo off ဆိုတာကိုရိုက္ထည့္လိုက္ျခင္းျဖင္႔ အထက္က C:\Documents and Settings\Admin စာတန္းကို ေပ်ာက္ေနေစပါတယ္။��2. echo�ဒါကေတာ႔ မိမိ ေဖာ္ျပလိုတာ စာသားကို Dos Mode မွာ Output(ျမင္ရေအာင္) ျပမယ္႔ စာတန္းရဲ႕ ေရွ႕မွာသံုးပါတယ္။ ျပသလိုတဲ႕ စာတန္းကို echo ရဲ႕ ေနာက္မွာ ဘားတစ္ခ်က္ပုတ္ၿပီး ေရးပါတယ္။�ဥပမာ။ nyipainglay is regestered member of MHF. ကိုေရးခ်င္တယ္ဆိုပါစို႔… �echo nyipainglay is regestered member of MHF�ေပါ႔………..��3. echo.�echo ေနာက္မွာ ဖူးစေတာ႔(.) ပါလာရင္ေတာ႔ တစ္ေၾကာင္းျခားလိုက္တာပါ။ စာတန္းေတြ ၾကည့္လို႔ ေကာင္းေအာင္ ခ်ဲလိုက္တဲ႕ သေဘာပါပဲ။��4. :_�Full Column & Under Score သေကၤတႏွစ္ခုပါတဲ႕ Keyword ကေတာ႔ Script တစ္ခုရဲ႕ အစိတ္အပိုင္းတစ္ခုဆိုတာကို သတ္မွတ္ေပးတာပါ။ ေခါင္းစဥ္ငယ္ေပါ႔ဗ်ာ။��5. color�color ဆိုမွေတာ႔ အေရာင္ေပါ႔ဗ်ာ……. Background Color နဲ႕ စာလံုး Color ကိုေရြးေပးတာပါ။ ဥပမာ အေနနဲ႕ 0A ဆိုရင္ ေရွ႕က 0 က ေနာက္ခံ Background, ေနာက္က A က စာလံုးအေရာင္ ကိုေျပာတာပါ။�အကယ္လို႔မ်ား 0 မပါပဲ A တစ္လံုးထဲေရးထားမယ္ဆိုရင္ေတာ႔ Background အေရာင္ဟာ Default အေရာင္ ျဖစ္တဲ႕ အနက္ေရာင္ပဲ ျဖစ္ေနပါလိမ္႔မယ္။ အေရာင္ေတြနဲ႕ ပါတ္သက္လို႔ keyword ေတြကို သိခ်င္တယ္ဆိုရင္ cmd ထဲမွာ color/? ဆိုၿပီးရိုက္ထည့္ၿပီး ရွာၾကည့္လို႔ရႏိုင္ပါတယ္။��6. set val=�ဒါကေတာ႔ ရွင္းျပရင္နည္းနည္းပိုရႈပ္မယ္။ လုပ္ရင္းနဲ႕ေတာ႔ နားလည္သြားမွာပါ။ အၾကမး္ေျပာျပရမယ္ဆိုရင္ user က Input တစ္ခုသြင္းလိုက္တဲ႕ အခါ အဲ႕ဒီ Input ကို Val ဆိုတဲ႕ ကိန္းရွင္တစ္ခုအေနနဲ႕ သတ္မွတ္မယ္လို႔ေျပာတာပါ။ Variable အမ်ိဳးမ်ိဳးရွိတဲ႕ အနက္ String အမ်ိဳးအစားပဲျဖစ္ရမယ္လို႔ေျပာတာပါ။ ဒီေနရာမွာ set ဆိုတဲ႕ keyword က အေသျဖစ္ေပမယ္႔ val ကေတာ႔ ႀကိဳက္ရာေပးလို႔ရပါတယ္။��7. set /p val=�အထက္က နည္းတူပါပဲ။ ဒါကေတာ႔ User ကို Input တစ္ခု ရိုက္ထည့္ေပးဖို႔ ေတာင္းတာပါ။ /p ပါတဲ႕ အတြက္ သတ္မွတ္ထားတဲ႕ input မဟုတ္ရင္ program က အလုပ္မလုပ္ပါဘူး။ val ကေတာ႔ အရွင္ပါ။��8. if�ဒါကေတာ႔ ကိန္းရွင္တစ္ခုကို သတ္မွတ္ၿပီးလို႔ user က input သြင္းလိုက္တဲ႕အခါမွာ သတ္မွတ္ထားတာမွန္ရင္ ဘာလုပ္ပါ၊ သတ္မွတ္ထားတာမဟုတ္ရင္ ဘာလုပ္ပါ ဆိုတာကို if နဲ႕ေရးပါတယ္။ သိပ္မရွင္းေတာ႔ဘူးဗ်ာ…. ရွင္းေလရႈပ္ေလျဖစ္သြားလိမ္႔မယ္။ နားမလည္ေသးတဲ႕လူေတြအဖို႔ေပါ႔။ နားလည္တဲ႕သူေတြအဖို႔ေတာ႔ ေအးေဆးေပါ႔ေနာ္…….. (သူ႔ရဲ႕ေနာက္မွာ /I ပါလာရင္( if /I ) ဆိုရင္ Input က A = a , ႀကီးႀကီး၊ ေသးေသး အလုပ္လုပ္ပါတယ္၊ သေဘာက္ေတာ႔ အရြယ္မေရြးဘူးေပါ႔ဗ်ာ၊ MZ က ဇာနည္ေအာင္(ဇူဇူး) လိုေပါ႔)��9. cls�ဒါကေတာ႔ သန္႔ရွင္းေရးပါ။ Screen မွာ ရႈပ္ေနရင္ cls ကိုသံုးလိုက္၊ အကုန္ရွင္းၿပီးသားပဲ။��10. pause�ဒါကေတာ႔ တစ္ခုခုလုပ္ၿပီးလို႔ နားတဲ႕အခ်ိန္မွာ ျပသဖို႔ ေရးတဲ႕စကားလံုးပါပဲ။ ဒီစာလံုးေလးထည့္လိုက္ရင္ “Press any key to continue” ဆိုတာ ေပၚလာပါလိမ္႔မယ္။��11. goto�ဒါကေတာ႔ ဘယ္သြားမလဲ ေမာင္ေရခဲ ေပါ႔။ သြားခ်င္တဲ႕ ေခါင္းစဥ္ခြဲကို ျပေပးရပါတယ္။ ခဏက အထက္မွာေရးထားတဲ႕ “ :_ ” ေခါင္းစဥ္ခြဲကိုသြားတဲ႕လမ္းေၾကာင္းပါ။��12. call�ေကာ ဆိုမွေတာ႔ ေခၚတာေပါ႔ေနာ္။ လက္ရွိ program ကေန ခ်ိတ္ဆက္ထားတဲ႕ ေနာက္ Program တစ္ခုကို လွမ္းေခၚတာပါ။ call Hide 1.cmd ဆိုရင္ Hide 1.cmd ဆိုတဲ႕ ဖိုင္ကို run ေပးပါလိမ္႔မယ္။�( တျခား ေကာ(call) တဲ႕ကိစၥေတြကိုေတာ႔ ကိုရသာ၊ ကိုပရင္႔ တို႔နဲ႕ ဆက္သြယ္ႏိုင္ပါတယ္။ )��13. exit�လက္ရွိ program ကေနထြက္မယ္လို႔ေျပာတာပါ။�(MZ က exiter နဲ႕လံုး၀(လံုး၀) မသက္ဆိုင္ပါ။ အျမဲတမ္း ထြက္ေနတဲ႕ ကိုထြက္ေပါက္ဟာ Mafia နဲ႕မွ ထြက္ေပါက္ရွာမရျဖစ္ေနပါတယ္။�14. reg add�ဒါေလးကေတာ႔ အေရးႀကီးပါတယ္။ အဓိက အစိတ္အပိုင္းလည္းဟုတ္ပါတယ္။ add ဆိုေတာ႔ ေပါင္းတာ၊ ထည့္တာေပါ႔ေနာ္။ reg ေတြကို ေပါင္းထည့္္ၾကတဲ႕ အခါ သံုးပါတယ္။ သူ႔မွာလည္း ဆင္႔ကဲ( လက္ခြဲ ) Parameter ေလးေတြ၊ သတ္မွတ္ခ်က္ ေလးေတြရွိပါတယ္။ အသံုးမ်ားတာက /v, /ve, /t, /d, /f တို႔ျဖစ္ပါတယ္။�/v - ကေတာ႔ Value တစ္ခုကိုနာမည္ေပးခ်င္တဲ႕အခါ သံုးပါတယ္။ reg add ရဲ႕ ေနာက္မွာ ဘားတစ္ခ်က္ပုတ္ၿပီး ေရးပါတယ္။ ေနာက္ၿပီး သူ႔ေနာက္မွာပဲ ဘားတစ္ခ်က္ပုတ္ၿပီး ထည့္ခ်င္တဲ႕ reg ရဲ႕ Value ကိုရိုက္ထည့္ပါတယ္။�/ve - ကေတာ႔ Value Name ကို User က မေပးပါ။ စက္ကေပးတဲ႕ Default ကိုပဲ သံုးပါမယ္ ဆိုတဲ႕ အခါ သံုးပါတယ္။�/t - ကေတာ႔ Value ရဲ႕ Data Type ကို ေၾကာ္ျငာတာပါ။ Data Type (၅) မ်ိဳးထဲက ဘယ္ Data type ကို သံုးမယ္ဆိုတာကို /t ခံၿပီးေၾကာ္ျငာပါတယ္။ ဥပမာ - REG_DWORD ကို ေၾကာ္ျငာမယ္ဆိုရင္ /t reg-dword ဆိုၿပီး /t ေနာက္မွာ ဘားတစ္ခ်က္ပုတ္ၿပီး ေၾကာ္ျငာပါတယ္။ /t ဆိုတဲ႕ စာသားမပါလာဘူးဆိုရင္ေတာ႔ စက္က သူ႔ရဲ႕ Default Data Type ျဖစ္တဲ႕ REG_SZ လို႔ပဲ သတ္မွတ္သြားမွာျဖစ္ပါတယ္။�/d - ကေတာ႔ DATA ေၾကာ္ျငာတာပါ။ ထံုးစံအတိုင္း သူ႔ေနာက္မွာ ဘားတစ္ခ်က္ပုတ္ၿပီး ေရးပါတယ္။�/f - ကေတာ႔ data 


တစ္ခုကိုထည့္တာပဲျဖစ္ျဖစ္၊ ဖ်က္တာပဲျဖစ္ျဖစ္ ျပဳလုပ္တဲ႕အခါ ယခင္က သတ္မွတ္ထားတဲ႕ တန္ဖိုး တစ္ခုခုရွိေနပါလိမ္႔မယ္။ အဲ႕ဒီ တန္ဖိုးကို ဖ်က္မလားလို႔ program က user ကို ျပန္ေမးတတ္ပါတယ္။ /f ထည့္ထားရင္ေတာ႔ မေမးနဲ႕ တန္းဖ်က္လိုက္ပါလို႔ ေျပာတာပါပဲ။��15. reg delete�ရွင္းပါတယ္။ ဖ်က္တာေပါ႔ reg ကိုဖ်က္တာပါ။ reg add မွာ တစ္ခုခု ထည့္မယ္ဆိုရင္ Value name /v, Data type /t, /d တို႔ကို မျဖစ္မေနထည့္ေပးမွ reg တန္ဖိုးထည့္လို႔ရမွာပါ။ reg delete မွာေတာ႔ /v တစ္ခု ဖ်က္တာနဲ႕ တင္ လံုေလာက္ပါတယ္။ တန္ဖိုးကို ဖ်က္မလားလို႔ မေမးေစခ်င္ရင္ေတာ႔ တစ္လက္စတည္း /f ပါ ထည့္လိုက္။ ဒါဆိုအရွင္းပဲ………………….��ကၽြန္ေတာ္တို႔ Script (Program) တစ္ခု မစ ခင္မွာ Program တစ္ခုနဲဲ႕ ပါတ္သတ္လို႔ အနည္းငယ္ေျပာျပခ်င္ပါတယ္။ Program တစ္ခုမွာ Input , Process , Output ဆိုၿပီးသံုးမ်ိဳးရွိပါတယ္။�Input = User က ထည့္ေပးရတာ�Process = ကြန္ပ်ဴတာက လုပ္ေဆာင္ေပးတာ�Output = လုပ္ေဆာင္ခ်က္ေတြကို ျပသေပးတာ�ဒီသံုးမ်ိဳးကို အလ်ဥ္းသင္႔ေအာင္ စဥ္းစားေပးရပါတယ္။ စၿပီးမေရးခင္ကတည္းကေပါ႔။�အလုပ္လုပ္သြားတဲ႕ နည္းလမ္းေတြကေတာ႔ ဒီသံုးမ်ိဳးကို ပတ္လည္ရိုက္တာပါပဲ။ R တာေပါ႔ဗ်ာ…..�Input ------------à Process -------------à Output�ဒီသေဘာကေတာ႔ ရွင္းပါတယ္။ ေရးတယ္- လုပ္တယ္ - ျဖစ္သြားတယ္။�Output-----------à Input----------à Process------------à Output�ဒါကေတာ႔ ျဖစ္ႏိုင္တာေတြ ခ်ျပမယ္။ User ကို ေရြးခ်ယ္ခြင္႔ေပးမယ္။ User ကေရြးခ်ယ္လိုက္တဲ႕ (Input) ကို ကြန္ပ်ဴတာက အလုပ္လုပ္တယ္။ ျပင္ဆင္တဲ႕ အတိုင္းျဖစ္သြားတယ္။�ဒီေတာ႔ ကိုယ္ေရးမယ္႔ Script က ဘယ္လိုလမ္းေၾကာင္းက သြားမလဲ၊ မေမးမျမန္းေတာ႔ပဲ ထည့္စရာရွိတာေတြထည့္၊ ဖ်က္စရာရွိတာေတြ ဖ်က္မွာလား။ စသည္ျဖင္႔ကို Script မေရးခင္ အႀကမ္းေရးဆြဲထားသင္႔ပါတယ္
 https://www.facebook.com/chitlay84

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comments:

Post a Comment