در جلسه قبل منوی ساده ای با چهار گزینه طراحی کرده و به کاربر گفتیم که یکی از 4 گزینه موجود را انتخاب کند
تا اجرا شود
حال بقیه ماجرا:
در سطر بعدی فایل Batch دستور زیر را می نویسیم:
کد:
if '%ABC%'=='' ECHO You did not enter valid number ,please try again
در این جا فرض کرده ایم که کاربر هیچ شماره ای را انتخاب نکرده و فقط کلید Enter را فشار داده است. حالا ببینیم
با این دستوری که دادیم چه اتفاقی می افتد.
در سطر قبل از این سطر ، از دستور set بهمراه p/ استفاده کردیم ، در ادامه دستور عبارت =ABC را نوشتیم و بعد از
علامت = عبارت : Type the Program number to Run را نوشتیم.
این بدان معنی است که برنامه دو تا کار باید انجام دهد:
1. عبارت بعد از مساوی را به کاربر نشان دهد.
2. عکس العمل کاربر را هر چه که هست درون متغیری بنام ABC ذخیره کند.
یعنی با دستور فوق یک متغیر بنام ABC تعریف کرده ایم که برنامه در داخل آن عکس العمل کاربر را ذخیره خواهد کرد.
فرضا" اگر کاربر کلید 1 را تایپ کرده و بعد کلید Enter را فشار دهد برنامه مقدار ABC را برابر 1 ذخیره خواهد کرد.
حالا میخواهیم از این متغیر استفاده کنیم . قبلا" گفتم که برای استفاده از متغیر باید نام متغیر را ما بین دو علامت %%
قرار دهیم.
در بالا گفتم که کاربر هیچ شماره ای را انتخاب نکرده و فقط کلید Enter را فشار داده است یعنی با شرح داده شده ،
برنامه ، در داخل متغیر ABC ، مقدار " هیچ چیز" را ذخیره کرده است.
بنابر این در اینجا از دستور شرطی IF استفاده کرده و گفته ایم که اگر داخل متغیر ABC خالی باشد ، یک پیغام نشان
داده و در آن بگوید "شما عدد درستی وارد نکردید ، لطفا" دوباره وارد کنید".
شرط خالی بودن مقدار متغیر را بصورت زیر نشان داده ایم:
همانطور که می بینید بعد از دو تا علامت مساوی مقداری در داخل دو علامت ،، وجود ندارد.
حال دستور بعدی را باید بنویسیم . این دستور (که در سطر زیر مشاهده می کنید) ،مثل دستور قبلی است با این فرق
که در اینجا مقدار متغیر ABC خالی نبوده و برابر 1 در نظر گرفته شده است:
کد:
if '%ABC%'=='1' goto PA
همانطور که می بینید در این دستور با استفاده از دستور goto که قبلا" در موردش صحبت کردیم ، به برنامه گفته ایم
که اگر کاربر عد 1 را وارد کرده باشد ، برود و دستورات زیر سطر PA را اجرا کند.
حالا باید سطر PA را درست کرده و زیر آن دستور یا دستوراتی که باید اجرا شود را می نویسیم .در این مثال که میخواهیم
اگر کاربر کلید 1 را فشار دهد برنامه notepad اجرا شود ، دستورات زیر را می نویسیم:
و همین طور برای دیگر حالات هم دستورات لازم را می نویسیم که در نهایت برای این مثال خواهیم داشت:
کد:
@ECHO off
cls
:Menu
ECHO.
ECHO.
ECHO @@@@@@@@@@@@@@@@@@@@@@
ECHO. @ @
ECHO @ 1. Run notepad @
ECHO @ 2. Run MSPait @
ECHO @ 3. Run Calculator @
ECHO @ 4. Exit @
ECHO @ @
ECHO @@@@@@@@@@@@@@@@@@@@@@
ECHO.
ECHO.
set /p ABC=Type the Program number to Run:
if '%ABC%'=='' ECHO You did not enter valid number ,please try again
if '%ABC%'=='1' goto PA
if '%ABC%'=='2' goto PB
if '%ABC%'=='3' goto PC
if '%ABC%'=='4' goto end
ECHO.
goto Menu
:PA
notepad.exe
goto end
:PB
mspaint.exe
goto end
:PC
calc.exe
goto end
:end
exit
مثال را تست کنید و درباره اش فکرکنید
تابعد
علاقه مندی ها (بوک مارک ها)