နည္းပညာဗဟုသုတ ျပည့္၀ၾကပါေစ

Sunday, December 15, 2013

Batch Operators (Batch File Programming သင်ခန်းစာ-၄)



အခြား Programming language တွေမှာလိုပဲ Batch Programming မှာလည်း operator တွေရှိပါတယ်။

Operators
Description
()
Grouping
!  ~  -
Unary Operators
*  /  %  +  -
Arithmetic Operators
<<  >>  < >
Logical shift and re directional operators
&
Bitwise and
^
Bitwise exclusive or
=  *=  /=  %=  +=  -=  &=  ^=  |=  <<=  >>=
Assignment operators
,
Separator
&&
For using Multiple commands
||
For executing one from many commands

Operator တွေကိုစမ်းသုံးကြည့်ရအောင်။
သချာင်္ဆိုင်ရာလုပ်ငန်းတွေကိုဆောင်ရွက်ရာမှာ arithmetic operator တွေကိုသုံးပါမယ်။ ‘set’ ဆိုတဲ့ command နောက်မှာ ‘/a’ ဆိုတဲ့ switch ကိုတပ်ပေးလိုက်ရင် ပေါင်း၊နုတ်၊မြောက်၊စား လုပ်လို့ရပါပြီ။
4 နှင့် 5 ကိုပေါင်းကြည့်ရအောင်။

C:\>set /a 4+5
9

8 မှာ 2 ကိုနုတ်ကြည့်ရအောင်။

C:\>set /a 8-2
6

8 နှင့် 2 ကိုမြောက်ကြည့်ရအောင်။ အမြောက်အဖြစ် ‘*’ (asterisk) ကိုသုံးပါတယ်။   

C:\>set /a 8*2
16

8 ကို 2 နှင့်စားကြည့်ရအောင်။ အစားအဖြစ် ‘/’ (slash) ကိုသုံးပါတယ်။ စားလဒ်ကိုထုတ်ပေးပါတယ်။

C:\>set /a 8/2
4

7 ကို 3 နှင့်စားပြီးအကြွင်းထုတ်ရအောင်။ စားပြီးကျန်သောအကြွင်းလိုချင်ရင် ‘%’ (percentage) ကိုသုံးပါတယ်။

C:\>set /a 7%3
1

Operator precedence

Operator တွေမှာဦးစားပေးအစီစဉ်တွေရှိပါတယ်။ သချာင်္ဆိုင်ရာ ဦးစားပေးလုပ်ဆောင်မှုနှင့်အတူတူပါပဲ။ အစီစဉ်ကတော့  *, /, %, +, -  တို့ပါပဲ။ Grouping operator ဖြစ်တဲ့ ‘()’ ကတော့ ပထမဦးစားပေးအဆင့်မှာပါပါတယ်။ Group ဖွဲ့ထားရင် Group ထဲကကိန်းတွေကိုအရင်တွက်ရမှာဖြစ်ပါတယ်။
ဒီကဗျာလေးကိုကျက်ထားရင် သချာင်္မှာရော၊ programming မှာပါအသုံးဝင်ပါလိမ့်မယ်။
“ကွင်း၏မြောက်စားပေါင်းနုတ်”  “ () ၏ * / + - ”
စမ်းသပ်ကြည့်ရအောင်။

C:\>set /a (4+2)*3+4/2
20 

() ထဲကကိန်းကိုအရင်ရှင်းပါမယ် (4+2 = 6) ။ ပြီးရင် အမြောက်ကိုရှင်းမယ် (6*3=18)။ ပြီးရင် အစား (4/2=2) ။ နောက်ဆုံးမှ အပေါင်းကိုရှင်း (18+2=20) ။
ယခု redirectional operators အကြောင်းရှင်းပြပါမယ်။ redirectional operators ဖြစ်တဲ့ ‘<’ နှင့် ‘>’ က command prompt မှာ output ကိုမထုတ်ပဲ အခြား text file တွေမှာ output ထုတ်ချင်ရင်သုံးပါတယ်။ ‘echo’ command နှင့်တွဲသုံးရပါတယ်။ စမ်းသပ်ကြည့်ရအောင်။
ယခု “hello notepad” စာသားကို  ‘hello.txt’ file ထဲမှာ output ထုတ်ပါမယ်။ နောက် “hello wordpad” စာသားကို ‘hello.doc’ ထဲမှာ output ထုတ်ပါမယ်။

C:\>echo hello notepad > hello.txt
C:\>echo hello wordpad > hello.doc

အထက်ပါတိုင်း command prompt မှာရိုက်လိုက်ပြီး Enter ခေါက်လိုက်ပါက C directory အောက်မှာ ‘hello.txt’  နှင့် ‘hello.doc’ file နှစ်ခုကိုတွေ့ရမှာပါ။ ထို file တွေကိုဖွင့်ကြည့်ပါက ‘hello.txt’ မှာ “hello notepad”  စာသားကိုတွေ့ရမှာဖြစ်ပြီး ‘hello.doc’ မှာ “hello wordpad” စာသားကိုတွေ့ရမှာဖြစ်ပါတယ်။

Unary operator တစ်ခုဖြစ်တဲ့ tilde ‘~’ ကတော့ ရှည်လျားလှတဲ့ directory name တွေကိုအတိုချုံ့ဖော်ပြရာတွင် သုံးပါတယ်။
C:\Program Files\Drive Space Indicator ဆိုတဲ့ directory ထဲဝင်ချင်တယ်ဆိုပါစို့။ ‘cd’ command နောက်မှာ path လမ်းကြောင်းကိုရိုက်ပြီးသွားလို့ရပါတယ်။ ဒါပေမယ့်အတိုချုံ့ချင်ရင်တော့ directory name ရှေ့ဆုံး စာလုံး ၆ လုံးအရင်ရိုက်၊ ပြီးရင် ‘~’ နှင့် 1 နှင့်ရိုက်လိုက်ရင်ရပါပြီ။ directory name က ၆ လုံးမပြည့်ခင် space ခြားထားရင် ကိုယ်ကကပ်ပြီးရေးပါ။ directory name ရှေ့ဆုံး စာလုံး ၆ လုံးလုံးတူတဲ့ directory နှစ်ခုရှိနေရင်တော့ ပထမ directory ကိုသာအတည်ယူပါတယ်။
C:\>cd c:\progra~1\drives~1
C:\PROGRA~1\DRIVES~1>

Run box ထဲမှာ command လို့ရိုက်ထည့်ပြီး Enter ခေါက်ပါ။ ၎င်းထဲမှ directory path များသည် tilde များဖြင့်သာအသုံးပြုရပါတယ်။ ‘~’ ဆိုတဲ့ unary operator သုံးတိုင်း ‘1’ ကမပါမဖြစ်ထည့်ပေးရပါတယ်။
‘&&’ ကိုတော့ command အများကြီးကိုတစ်ကြောင်းထဲမှာပေါင်းရေးချင်ရင်သုံးပါတယ်။ဥပမာ.. စာသားကို output အဖြစ်ထုတ်မယ် စသဖြင့် command နှစ်ခုကိုတစ်ကြောင်းတည်းရေးပါမယ်။ အဲဒီအတိုင်းပဲ ‘&&’ နှင့်ဆက်ပြီး command နှစ်ခုထက်မကရေးလို့ရပါတယ်။

C:\>echo Batch Program Addition && set /a 2+6
Batch Program Addition
8

Pipe Line operator (|)ကို ကိုယ် output ထုတ်ချင်တဲ့အရာဟာ အခြား command ရဲ့ input တစ်ခုအနေနှင့် သုံးချင်ရင်အသုံးပြုပါတယ်။
C:/>echo Y|del *.txt


(မျိုးသူထက်)
Ref: Batch File Programming By Premkumar.S


Rate this posting:
{[['']]}

0 comments:

Post a Comment

Twitter Facebook More