ساخت منو در فایل Batch

ساخت منو در فایل Batch

همانطور که در فصل اول آموزش Batch Programming گفتم ساخت فایل Batch به شما اجازه میدهد کارهای خود را به صورت خودکار یا زمانبندی شده انجام دهید. یکی دیگر از ویژگی های Batch Programming توانایی در ساخت منو است. یعنی به سادگی میتوانید برنامه ای بسازید که کاربر پایانی بتواند یکی از Option های ساخته شده شما را انتخاب کند. یعنی ساخت یک برنامه چند گزینه ای. در ادامه نووا بلاگ را با آموزش ساخت منو در فایل Batch همراهی کنید.

ایجاد منو در فایل Batch به سادگی آب خوردن میباشد. برای ساخت منو باید از Colon یا همان علامت نقل قول (:) در اول جمله استفاده کنید.

ساخت فهرست نمایشی منوها

برای شروع یک فایل Text بسازید سپس فرمت آن را به Bat یا cmd تغییر دهید. و از دستورات پایه (echo – title – color) برای مشخص نمودن منوی گرافیکی فایل Batch استفاده کنید. برای مثال:

@Echo off

Title Create Batch Menu

:Menu

Color 0a

Echo ______________________________________

Echo.

Echo Please Choose one of the following menu

Echo Press n for open notepad

Echo Press c for open calculator

Echo ______________________________________

تا اینجا فقط از دستورات فصل اول برای ساخت ظاهر منو یعنی نمایش Option های که کاربر پایانی میتواند از طریق آنها وظایف مشخص را انتخاب کند را بیان کردیم. و تنها مورد جدیدی که اضافه شده :menu میباشد. این مورد که در ابتدای آن : گذاشته شده مشخص کننده یک بخش در فایل Batch است. شما میتوانید با گذاشت علامت : بخش هی مختلف برای فایل Batch خود بسازید.

نکته: همانطور که گفتم علامت : برای مشخص نمودن بخشهای مختلف فایل Batch میباشد. شما میتوانید از هر کلمه ای به همراه علامت : برای مشخص نمودن یک بخش استفاده کنید. در ادامه فایده بخش بندی را متوجه خواهید شد.

ساخت ورودی های منو

اما دستوری که باید برای ساخت ورودی های منو از آن استفاده شود؛ دستور Set با پارامتر /p میباشد. از دستور Set برای تغییر یک Variable به Variable دیگر استفاده میشود. برای مثال:

SET /P M=Type n or c and Press Enter:

IF %M%==n goto Notepad

IF %M%==c goto Calculator

همانطور که گفتم دستور set برای تغییر یک Variable به Variable دیگر استفاده میشود. در بالا هم حرف M یک Variable یا متغیر میباشد که در جمله های پایین آن با دستور IF مشخص شده اگر همراه با Variable حرف M حرف N وارد شود با دستور Goto به بخش Notepad برود اما اگر با C وارد شد به بخش Calculator برود.

بخش بندی فایل Batch

حال باید بخش های مختلفی که در بالا مشخص نموده ایم را درست کنیم. در بالا دو بخش Notepad و Calculator مشخص شده که باید با علامت : این بخشها را بسازیم.

:Notepad

Start Notepad

exit

:Calculator

Start Calc

exit

در بالا دو بخش با نام های :NOTEPAD و :CALCULATOR ساخته شد که در هر بخش با دستور START برنامه مشخصی اجرا میشود. NOTEPAD همان برنامه ویرایشگر متن ویندوز میباشد و CALC هم همان ماشین حساب است. در آخر هر بخش از دستور Exit برای خروج از فایل Batch استفاده شده، حال بگذارید آن چرا که  به حال به صورت بخش بخش توضیح داده ام را یکجا در یک مثال برایتان بنویسم:

@Echo off

Title Create Batch Menu

:Menu

Color 0a

Echo ______________________________________

Echo.

Echo Please Choose one of the following menu

Echo Press n for open notepad

Echo Press c for open calculator

Echo ______________________________________

Echo.

SET /P M=Type n or c and Press Enter:

IF %M%==n goto Notepad

IF %M%==c goto Calculator

Goto Menu

:Notepad

Start Notepad

EXIT

:Calculator

Start Calc

EXIT

خلاصه آموزش ساخت منو در فایل Batch

در این فصل یک فایل Batch درست کردیم که دارای سه بخش میباشد: یک Menu دو Notepad سه Calculator برای مشخص کردن بخش های مختلف از علامت Colon یا همان نقل قول : استفاده کردیم. از دستور Echo برای ساخت فهرست ها استفاده شد و از دستور Set برای مشخص نمودن ورودی ها و تغییر Variable ها استفاده شد. از دستور IF برای مشخص نمودن شرایط دستور Set استفاده کردیم. در آخر از دستور Start برای فراخوانی برنامه های ویندوز مثل ماشین حساب (Calc) و ویرایشگر متن (Notepad) استفاده نمودیم.

تمرین: یک فایل Batch بسازید که در آن پنج منو مختلف برای انجام پنج وظیفه مختلف وجود داشته باشد.


آموزش مبتدی تا حرفه ای ساخت فایل Batch

فصل اول: مبانی پایه Batch Programming

فصل دوم: کدهای برگشتی یا فایل Batch یا Return Code

فصل سوم: ورودی ها و خروجی های STDIN , STDOUT , STDERR

فصل چهارم: معرفی و ساخت Variable ها با دستور SET

فصل پنجم: اجرای شرطی برنامه ها با دستور IF

فصل ششم: ساخت منو در فایل Batch (با استفاده از دستور IF و SET)

فصل هفتم: دستور FOR برای ساخت حلقه

فصل هشتم: نکات تکمیلی در ساخت فایل Batch (بررسی کلی)


22 دیدگاه دربارهٔ «ساخت منو در فایل Batch»

  1. سلام چه جوری میشه که یک منو دیگر در منو بسازیم مثلا با زدن C برود به منو new و اونجا هم با زدن یک حرف یه کاری بکنه
    سوال:ساختن منو در منو لطفا جواب بدید

    1. سلام
      برای ساخت یک منو در منوی دیگر باید دقیقا همین کاری که برای منوی اول انجام دادید رو برای منوی دوم هم انجام بدید. مثلا فرض کنید فرد بعد از زدن حرف C به منوی Calculator بره و اونجا چندین انتخاب داشته باشه، باید در بخش Calculator هم یک متغیر با دستور set درست کنید و با دستور if بررسی کنید تا در صورت یکی بودن ورودی کاربران برنامه مورد نظر اجرا بشه
      اگر منظورم رو متوجه نشدید پیام بدید تا براتون یک منوی نمونه بسازم.
      موفق باشید.

  2. سلام و ممنون از سایت خوبتون…
    میخواستم بدونم میشه نرم افزار های دیگه ای به جز اکسسوری های ویندوز رو داخل این برنامه فراخوانی کرد؟

  3. آقای HACKER

    سلام لطفا بگید چطوری میشه اسم مخفف برنامه های سیستمی رو مثل CALC را پیدا کرد؟ خیلی ممنون میشم.

  4. آقای HACKER

    میشه لطفا روش منو در منو رو یاد بدید خیلی نیازدارم… اگه میشه تو تلگرام بگید به ایدی @ARYAN_PROGRAM یا ایمیل کنید.

  5. آیا میشه ی bat نوشت ک هر دفعه چک کنه ببینه یک برنامه باز هست یا ن؟؟
    اگه میشه چجوری ممنون میشم بگی !

    1. سلام
      بله میتونید با استفاده از دستورات if و schtasks برنامه مورد نظر تون و بسازید.
      اول باید یک فایل bat بسازید که با دستور schtasks وظیفه زمانبندی شده بسازه و یک فایل bat دیگه رو هر از چند گاهی اجرا کنه (طبق نیاز زمانبندی بشه) بعد در فایل bat با دستور if بررسی کنید که اگر فلان برنامه در حال اجرا بود عمل مورد نظر شما انجام بشه

  6. محمد امیر بهروزی

    سلام وقت بخیر.ممنون از سایت خوبتون
    من یک سوال داشتم ممنون میشم راهنمایی کنید.من یک برنامه exe دارم که با یک bach فایل به صورت اتوماتیک اجراش میکنم،برنامه من در منوهای خودش گزینه داره که میتونی بعد از اجرای برنامه ازش گزارش یا به اصطلاح ریپورت بگیری،من میخوام این کارم به صورت اتوماتیک انجام بشه یعنی بعد از اجرای برنامه توسط بچ فایل خودش اتوماتیک ریپورت هم بگیره و درون مسیر مشخص ذخیره که.ممنون میشم راهنمایی کنید.

  7. محمد امیر بهروزی

    سلام و وقت بخیر.ممن.ن از سایت خوبتون
    میتونید من راهنمایی کنید.یک برنامه exe دارم که توسط یک bat فایل اجراش میکنم.این برنامه درون خودش و منوهاش یک گزینه داره که با زدنش میتونی از برنامه ریپورت یا گزارش بگیریم.من چه دستوری باید داخل bat فایلم بنویسم که بعد از اجرای برنامه خودش از اطلاعاتی که برنامه داره نشون میده به صورت اتوماتیک ریپورت بگیره و درون هارد ذخیره کنه.ممنون میشو بهم کمک کنید.

  8. سلام،وقت بخیر چجوری میشه کاری کرد که حروف بزرگ و کوچیک فرقی نداشته باشه مثلا بخوایم c بزنیم هم کوچیک و هم بزرگ رو متوجه شه؟

  9. سلام خسته نباشید میشه یه منویی ساخت که بره یه فایل batch دیگه ساخت؟
    یه روشی رو امتحان کردم،توی منو گزینه رو انتخاب میکنم ولی میگه فایل در مسیر نیست
    با اینکه توی مسیره

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.