نمایش نتایج: از شماره 1 تا 10 , از مجموع 173

موضوع: دستورات فایلهای Batch

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #11
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45308
    Array

    پیش فرض پاسخ : دستورات فایلهای Batch

    در جلسه قبل منوی ساده ای با چهار گزینه طراحی کرده و به کاربر گفتیم که یکی از 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%'==''
    همانطور که می بینید بعد از دو تا علامت مساوی مقداری در داخل دو علامت ،، وجود ندارد.

    حال دستور بعدی را باید بنویسیم . این دستور (که در سطر زیر مشاهده می کنید) ،مثل دستور قبلی است با این فرق
    که در اینجا مقدار متغیر ABC خالی نبوده و برابر 1 در نظر گرفته شده است:

    کد:
    if '%ABC%'=='1' goto PA
    همانطور که می بینید در این دستور با استفاده از دستور goto که قبلا" در موردش صحبت کردیم ، به برنامه گفته ایم
    که اگر کاربر عد 1 را وارد کرده باشد ، برود و دستورات زیر سطر PA را اجرا کند.

    حالا باید سطر PA را درست کرده و زیر آن دستور یا دستوراتی که باید اجرا شود را می نویسیم .در این مثال که میخواهیم
    اگر کاربر کلید 1 را فشار دهد برنامه notepad اجرا شود ، دستورات زیر را می نویسیم:

    کد:
    :PA
    notepad.exe
    و همین طور برای دیگر حالات هم دستورات لازم را می نویسیم که در نهایت برای این مثال خواهیم داشت:

    کد:
    @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
    مثال را تست کنید و درباره اش فکرکنید

    تابعد

    [SIGPIC][/SIGPIC]

  2. 5 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/