آموزش برنامه نویسی با batch

ɱɱβ

Member
با سلام ،

نوشتن یک برنامه تحت (DOS (Disk Operating System می تواند برای ساخت CD های Bootable یا Mini OS ها بدرد بخور باشد، به همین دلیل ما میتوانیم از فایل های batch برای اینکار استفاده کنیم.

برای شروع کافیست notepad را باز کنیم، پس از نوشتن کد ها فایل را Save کرده و پسوند آن را به bat یا cmd تغییر دهیم.
اما اگر هر دستوری بنویسیم کاربران نیز می بینند. برای جلوگیری از این کار کد :
کد:
@echo off
را در ابتدا وارد می کنیم.

برای نوشتن متنی درون console میتوان از دستور echo استفاده کرد برای مثال دستور echo MajidOnline کلمه MajidOnline را در خروجی چاپ می کند.
برای اینکه صفحه در محیط console زود بسته نشود از دستور pause استفاده می کنیم، دستور pause عبارت
Press any key to continue را در صفحه چاپ می کند تا کاربر با زدن هر دکمه از برنامه خارج شود.
حال اگر نخواهیم عبارتPress any key to continue در صفحه چاپ شود اما کاربر با زدن هر دکمه خارج شود می توانیم از دستور pause>hello استفاده کنیم ** به جای hello هر کلمه دیگری میتوان نوشت **

تا قسمت بعدی آموزش ، بدرود
 

ɱɱβ

Member
برای گذاشتن پیام ( غیر قابل مشاهده ) از دستور Rem استفاده می کنیم، این comment ها برای Debug کردن یا یادآوری اطلاعات به برنامه نویس استفاده می شوند.
خروج از برنامه نیز با دستور Exit صورت می گیرد.
دستور color رنگ فونت و پس زمینه را تغییر می دهد. هر رنگ دارای یک شماره بر مبنای 16 است.
0 » سیاه
1 » آبی
2 » سبز
3 » سبزآبی
4 » قرمز
5 » بنفش
6 » زرد
7 » سفید ( طوسی روشن )
8 » خاکستری
9 » آبی روشن
A » سبز روشن
B » سبزآبی روشن
C » قرمز روشن
D » بنفش روشن
E » زرد روشن
F » سفید
مشخصه اول ، رنگ پس زمینه و مشخصه دوم رنگ نوشته است.
برای مثال می خواهیم پس زمینه را سفید و نوشته را آبی کنیم. کد :
کد:
color f1
را می نویسیم.

تـــا قـسمت بعدی آموزش بدرود ...
 

hdnsoft

Well-Known Member
سلام
در برنامه های کنسول امکان فشرده سازی قوی وجود داره ؟ مثلا یک برنامه ای که کامپایل کردیم با کنسول فشرده اش کنیم ؟ مرسی
 

ɱɱβ

Member
بله تا حدی میشه با دستورات external فایل رو کم حجم کرد اما برای فشرده ساری قوی برنامه هایی تحت کنسول نوشته شده اند که باید از اون ها استفاده کنیم. برای مثال توی ساخت بسیاری از mini os هام از برنامه فشرده ساز uharc استفاده کردم که تحت console کار می کنه و براتون پیوستش کردم.
 

پیوست ها

  • uharc.rar
    99.9 کیلوبایت · بازدیدها: 27

ɱɱβ

Member
خب ، حالا رسیدیم به یک بخش مهم
برای برنامه نویسی در هر زبانی نیاز به تعریف چندین متغیر مختلف داریم. برای مثال در c از دستورات char و ... و در vb.net با dim , private , public و ... یک متغیر رو معرفی میکنیم. در batch می توانیم با دستور set متغیر هامون رو معرفی کنیم.
در برنامه نویسی batch دو نوع متغیر وجود داره :
1) string
2) integer
یعنی شما نمیتونید به هیچ عنوان از اعداد اعشاری استفاده کنید( البته راه هایی برای کلک زدن وجود داره که در آینده توضیح داده خواهد شد. )
خب بریم سراغ syntax این دستور :
برای تعریف یک متغیر string باید دستور زیر را نوشت :
set variable=sth
در عبارت بالا شما یک متغیر رشته ای به نام variable که در آن عبارت sth ذخیره شده است را معرفی کرده اید.
برای معرفی متغیر integer یا همان صحیح باید دستور زیر را نوشت:
set /a variable=10
در عبارت بالا شما یک متغیر صحیح به نام variable که در آن مقدار صحیح 10 ذخیره شده است را معرفی کرده اید.
برای استفاده از متغیر های معرفی شده در برنامه باید اسم متغیر را بین دو % آورد برای مثال اگر بخواهیم در خروجی عبارت ذخیره شده در متغیر variable و سپس salam به نمایش در بیاید از دستور :
echo %variable% salam
استفاده می کنیم. اگر از دستور echo variable salam استفاده کنید عبارت variable salam در خروجی چاپ می شود.
نکته : برای انجام عملیات روی اعداد یا متغیر ها حتما باید از set /a استفاده کنیم.
عملیات به ترتیب اولویت
1) پرانتز ()
2) عملیات یکانی ~ ! -
3) × و ÷ و %(mod)
4) + و -
5) << و >> شیفت منطقی
6) و بیتی
7) یای انحصاری بیتی
8) یای بیتی
9) عملکرد های جایگزینی =+ و =- و =* و =/ و = و =<< و =>> و =% و =& و =^ و =|

نکته : تقسیم اعشاری وجود ندارد تقسیم صحیح است.

گاهی اوقات احتیاج داریم که از کاربر ورودی بگیریم. برای مثال در vb.net از دستور console.readline() استفاده می شود. در batch می توانیم از دستور set /p استفاده کنیم:
set /p variable=Enter sth
در عبارت بالا عبارت Enter sth در خروجی چاپ می شود و منتظر می ماند تا کاربر چیزی را جلوی عبارت enter sth وارد کند و آنگاه عبارت وارد شده را در متغیر variable ذخیره میکند.
برای مثال در کد زیر از کاربر 2 عدد دریافت می شود و سپس آن دو را با هم جمع می کند و در خروجی نشان می دهد.

کد:
@echo off
set /p a=Enter the first number:
set /p b=Enter the second number: 
set /a result=%a%+%b%
echo %a% + %b% = %result%
pause > nul
** نکته pause>nul یعنی خروجی press any key to continue را در صفحه ننویسد. اگر به جای nul چیز دیگری مثل majidonline بنویسید. عبارت press any key to continue را در فایلی به نام majidonline میریزد.
ادامه دارد...
 

جدیدترین ارسال ها

بالا