sec2sec

  chinship 

rapid-dl   tamiraat



صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 17

موضوع: مروری سریع بر کاربرد های فایل های Batch (قسمت دوم)

  1. #1
    Status
    Offline
    magsoud آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    سیستم عامل 
    Windows XP
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Avast
    نوشته ها
    1,531
    تشکر
    2,004
    تشکر شده 9,409 در 1,531 پست

    پیش فرض مروری سریع بر کاربرد های فایل های Batch (قسمت دوم)

    قسمت اول
    [فقط کسانی که عضو هستند میتونند لینک رو مشاهده کنند ]

    و اما ادامه بحث:
    داشتم با خودم فکر میکردم که من قول داده ام که دستورات Batch را سریعا" آموزش دهم و از طرف دیگر هر دستور مقدار زیادی شرح
    و بسط دارد و امکان گفتن همه موارد (البته آن مواردیکه میدانم) در چند جلسه ممکن نیست . و در آخر تصمیم گرفتم این آموزش را
    به اینصورت ادامه بدهم که:
    __ هر چند روز یکبار یک یا چند ترفند کاربردی را با استفاده از Batch بنویسم
    __ در رابطه با دستورات مختلف موجود در Batch منتظر سوالات کاربران عزیز بمانم.

    امیدوارم مورد نظر شما هم بوده باشد ویا اگر نوع دیگری مایلید بفرمائید تا در صورت توان انجام دهم.

    اما برای امروز:

    چگونه با استفاده از فایل های بچ سیستم را خاموش یا Restart یا LogOff کنیم
    ----------------------------------------------------------------------------------------
    به ضمیمه سه فایل بچ قرار داده ام که به شرح زیر کار میکنند:
    با اجرای فایل close.bat یک پنجره نشان داده شده و زیر پنجره پیغامی داده و بعد از 10 ثانیه کامپیوتر را خاموش خواهد کرد.
    با اجرای فایل reset.bat مثل بالا پیغامی نشان داده ولی بعد از 10 ثانیه کامپیوتر را Restart خواهد کرد.
    با اجرای فایل log off.bat کامپیوتر LogOff خواهد کرد.

    شرح دستورات:
    دستور Shutdown بسته به سویچ هایی که استفاده بکنیم میتواند یکی از اعمال خاموش کردن ، Restart یا LogOff را انجام دهد.
    بعضی از سویچ های این دستور عبارتند از:
    s- باعث خاموش شدن کامپیوتر میشود.مثلا" دستور Shutdown -s
    r- باعث Restart شدن کامپیوتر میشود مثلا" دستور Shutdown -r
    l- باعث LogOff شدن کامپیوتر میشود مثلا" دستور Shutdown -l
    c- میتوانیم این سویچ را نوشته و پشت سرش بین علایم " " جمله ای را بنویسیم که موقع Restart و Shutdown نشان دهد
    t- اگر این سویچ را نوشته و بعد از یک فاصله فرضا" بنویسیم 10 باعث خواهد شد که عمل Restart یا Shutdown پس از 10 ثانیه
    صورت بگیرد. اگر از این سویچ استفاده نکنیم پیش فرض دستور 30 ثانیه خواهد بود.

    روی تک تک فایل های پیوست کلیک راست کرده و روی گزینه Edit کلیک کند تا آن ها در notepad باز شوند سپس دستوراتی را که
    من در آنها داده ام را با شرح بالا مقایسه کنید و بعد سعی کنید آن ها را بدلخواه خود تغییراتی بدهید.

    توضیح در فاصله زمانی که دستور Restart یا Shutdown اجرا میشود میتوانید با دستور ( SHUTDOWN -a ) عمل را کنسل نمایید.

    تکلیف شب:
    یک فایل Batch بسازید که از کاربر بپرسد :میخواهی Restart کنی یا Shutdown و سپس بر اساس گفته کاربر یکی از دو عمل فوق
    را انجام دهد.

    موفق باشید

    شیرین زبان


    فایل های پیوست شده فایل های پیوست شده

  2. 11 کاربر از پست مفید magsoud سپاس کرده اند .


  3. #2
    Status
    Offline
    tam2145 آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    اصفهان
    سیستم عامل 
    Windows 8.1
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Eset Security
    نوشته ها
    952
    تشکر
    1,206
    تشکر شده 3,192 در 725 پست

    Wink مشق شب

    سلام [فقط کسانی که عضو هستند میتونند لینک رو مشاهده کنند ] جان !!
    دستت طلا !! عالی بود !! :دییییییییییییییی
    اما در مورد روش آموزش :
    دوست گلم ، در مورد روز یک دو تا ترفند batch موافق هستم !!
    اما در مورد دومی : من رفتم ، کتاب بخونم ، اگر بتونم سوال هم می پرسم !!

    اما در مورد تکلیف شب :
    از آنجایی که با ویژال بیسیک کار کردم و با یک نرم افزار در رابطه با این فایل ها دارم ، کار می کنم ،، فکر کنم می شود از دستور if استفاده کرد که در این صورت مثل معمول باید دو شرط y و n را برای آن گذاشت و برای هر یک از پاسخ ها یک دستور نوشت که این بنده این ساختار را برای اینگونه فایل ها بلد نیستم و .... !!! از شیرین زبان می خواهم در این باره توضیح بدهند !!

    ببخشید مشق شبم اشتباه بود !! سوال اشتباه خوندم !!

    من منتظرم !! تکلیف فردا شب هم بدید تا بریم راحت بخوابیم !!



  4. 6 کاربر از پست مفید tam2145 سپاس کرده اند .


  5. #3
    Status
    Offline
    magsoud آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    سیستم عامل 
    Windows XP
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Avast
    نوشته ها
    1,531
    تشکر
    2,004
    تشکر شده 9,409 در 1,531 پست

    پیش فرض

    سلام
    چقدر خوشحال میشوم که یادداشت های شما را زیر نوشته هایم میبینم.
    فردا جواب تکلیف شب را میدهم و بعد تو باید بعد از دیدن جواب سعی کنی آن را با اسکریپت ویزوال بیسیک انجام بدهی
    و به من هم یاد بدهی

    شبت بخیر

    شیرین زبان


  6. 5 کاربر از پست مفید magsoud سپاس کرده اند .


  7. #4
    Status
    Offline
    tam2145 آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    اصفهان
    سیستم عامل 
    Windows 8.1
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Eset Security
    نوشته ها
    952
    تشکر
    1,206
    تشکر شده 3,192 در 725 پست

    پیش فرض

    با سلام !!
    خوشحالی از بنده است که کنار و دوست انسانی چون شما باشم !!
    دستور if آن ساده است و باید یک حلقه با سه شرط نوشت ولی برای دستور دادن به خاموش کردن و ری استارت و... را من بلد نیستم چونکه ما بیشتر روی برنامه ها و ساخت نرم افزار ها کار می کردیم ولی از دوستان و توی اینترنت می گردم و برای شما دستورش را پیدا می کنم !!



  8. 5 کاربر از پست مفید tam2145 سپاس کرده اند .


  9. #5
    Status
    Offline
    tam2145 آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    اصفهان
    سیستم عامل 
    Windows 8.1
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Eset Security
    نوشته ها
    952
    تشکر
    1,206
    تشکر شده 3,192 در 725 پست

    پیش فرض

    سلام magsoud جان !!
    دوست گلم ، قرار بود که دیشب جواب تکلیف شب را بدی ولی کجاست ؟؟؟؟
    ما به عهد خودمان وفا کردیم و آموزش ویژوال بیسیک آن را یافتم ولی فکر کنم ، شما یک چیزای می دانستید ، چونکه دستورات تا قسمتی از از یک ریشه هستند !!
    جواب تکلیف ؟؟؟؟؟
    با تشکر !!


  10. 2 کاربر از پست مفید tam2145 سپاس کرده اند .


  11. #6
    Status
    Offline
    magsoud آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    سیستم عامل 
    Windows XP
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Avast
    نوشته ها
    1,531
    تشکر
    2,004
    تشکر شده 9,409 در 1,531 پست

    پیش فرض

    سلام
    اما جواب سوالی که مطرح کرده بودم:
    من برای سادگی کار یک فایل batch مقدماتی بنامuser input.bat با کد های زیر در ضمیمه قرار داده ام:

    کد:
    @echo off
    
    set /P INPUT=Type r to restart or s to shutdown: 
    if %INPUT% NEQ r goto yyy
    start notepad.exe
    exit
    
    :yyy
    start mspaint.exe
    اگر این فایل را اجرا کنید از شما خواهد خواست که نوشته ای را وارد کنید. اگر شما r را تایپ کرده و سپس کلید
    Enter را بزنید برنامه notepad را اجرا کرده و اگر بجای r هر نوشته دیگری وارد کنید حتی اگر R بجای r وارد کنید
    برنامه mspaint اجرا خواهد شد.

    حال خودتان میتوانید user input.bat را باز کرده و در داخل آن بجای notepad.exe و mspaint.exe کدهای مربوط
    به Restart و shutdown را که در بالا گفته ام جایگزین کنید.

    فایل های پیوست شده فایل های پیوست شده

  12. 9 کاربر از پست مفید magsoud سپاس کرده اند .


  13. #7
    Status
    Offline
    tam2145 آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    اصفهان
    سیستم عامل 
    Windows 8.1
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Eset Security
    نوشته ها
    952
    تشکر
    1,206
    تشکر شده 3,192 در 725 پست

    پیش فرض

    با سلام [فقط کسانی که عضو هستند میتونند لینک رو مشاهده کنند ] جان !!

    ممنون !!

    اما درباره این کدها و دستورات :
    در واقع شما از دستور input و if استفاده کرده اید که input برای وارد کردن داده و if برای شرط !!
    سوالات زیادی دارم که مطرح می کنم و ببخشید که به ترتیب نیست !!
    1 ) در این کد نویسی ها ، تعریف داده ها کاربرد دارد یا نه ؟؟ چون در زبان ویژوال بیسیک برای داده ها برای اینکه مشکل پیش نیاید باید نوع داده ها را تعریف کرد !!
    2 ) چگونه داده ورودی را برای input تعریف کرده اید ؟؟؟
    3 ) دستورات شرطی مانند if دستوری برای در غیر این صورت دارند ، در این کد نویسی ، این دستور چیست و کجا نوشته می شود ؟؟؟
    4 ) دلیل نوشتن exit قبل از تمام شدن دستور if برای سریعتر شدن برنامه است یا به این شیوه نوشته می شود ؟؟؟
    5 ) چرا شرط دوم را به این صورت بیان کرده اید و به جای s از yyy استفاده کرده اید ؟؟؟؟
    6 ) چرا ویژوال بیسیک با این زبان ویژگی های مشترکی دارد ؟؟؟؟

    در آخر اگر می شود دو دستور input و if را به صورت ساختاری برای این کد نویسی توضیح بدهید !!


  14. 4 کاربر از پست مفید tam2145 سپاس کرده اند .


  15. #8
    Status
    Offline
    magsoud آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    سیستم عامل 
    Windows XP
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Avast
    نوشته ها
    1,531
    تشکر
    2,004
    تشکر شده 9,409 در 1,531 پست

    پیش فرض

    سلام
    قبل از توضیحات مربوطه میخواستم بگویم از اینک مریض شده ای بشدت ناراحت شدم.کاش سالم بودم و میتوانستم راحت و
    هر زمان که دلم میخواهد به عزیزانم سر بزنم.

    اما جواب سوالات:
    1. دستور If در اینجا مختص فایل های batch بوده و مثل If در زبان های برنامه نویسی نیست .بطور ساده تر نمیشود در اینجا
    مثل زبان های برنامه نویسی از قابلیت های مختلف If بهره برد مثلا" اگر از Else استفاده کنی انجام نخواهد داد.

    2. در فایل batch داده ها را برای متغیر با SET مشخص میکنند مثلا" SET AAA ولی در این مثال نیازی به تعریف متغیر نبود چون
    دستور =set /P INPUT یک دستور شناخته شده در ویندوز xp بوده لذا موقع اجرا ویندوز میداند چکار میکند.

    3. در فایل های batch دستورات هر سطر یکی پس از دیگری اجرا میشود .اگر من دستور exit در جاییکه می بینی ندهم ، برنامه
    طبق خاصیتش بعد از اجرای notepad.exe سطر بعدی را هم اجرا خواهد کرد (یعنی بعد از اجرای notepad.exe ، پشت سرش
    دستور سطر بعدی یعنی mspaint.exe را هم اجرا خواهد کرد.

    4. در مورد فایلهای batch مثل زبان برنامه نویسی فکر نکن .فایل های batch خوبند خیلی جا ها راحتت میکنند ولی یک زبان
    برنامه نویسی نیست و گرچه میشود با آن کار های عجیب غریبی کرد ولی ناقص است بعنوان مثال فایل پیوست را بگیر و
    اجرا کن خواهی دید عملی را که برایش با زبان برنامه نویسی کلی کد بنویسی را یک فایل batch چه راحت انجام میدهد.

    اگر توضیحات کافی نبود اطلاع بده

    فایل های پیوست شده فایل های پیوست شده

  16. 9 کاربر از پست مفید magsoud سپاس کرده اند .


  17. #9
    Status
    Offline
    tam2145 آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    اصفهان
    سیستم عامل 
    Windows 8.1
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Eset Security
    نوشته ها
    952
    تشکر
    1,206
    تشکر شده 3,192 در 725 پست

    پیش فرض

    سلام [فقط کسانی که عضو هستند میتونند لینک رو مشاهده کنند ] جان !!
    [فقط کسانی که عضو هستند میتونند لینک رو مشاهده کنند ] جان ، سر زدن وظیفه ما است نه شما !! هیف که این فاصله ها نمی گذارد !! دنیای مجازی کجا و دنیای واقعی کجا ؟؟!!

    اما درباره توضیحات شما :
    تقریبا منظورتان را گرفتم و سوالاتم برطرف شد !! اما بازم سوال دارم ، اگه نپرسم ، شب خوابم نمی بره :

    2 ) شما برای دستور input آن را با p/ تنظیم کرده اید ؟؟؟!! آیا این نوع تنظیم شما کلی است و یا فقط برای این مثال کاربرد دارد ؟؟؟
    3) خوب این ویژگی شبیه به ویژوال بیسیک می باشد ولی باید از جایی بفهمه که این شرط اشتباه است و به شرط دوم برود ، این دستور چگونه برایش تعریف می شود ؟؟؟ آیا همان goto می باشد ؟؟؟
    4) چرا شرط دوم را با yyy: تعریف کرده اید ؟؟؟
    5 ) مگر ما نمی خواهیم که با دادن S شرط دوم اجرا بشود ولی با دادن yyy نیز این شرط اجرا می شود !!!؟؟؟


  18. 5 کاربر از پست مفید tam2145 سپاس کرده اند .


  19. #10
    Status
    Offline
    magsoud آواتار ها
    عضو ثابت
    تاریخ عضویت
    Jun 2011
    محل سکونت
    تهران
    سیستم عامل 
    Windows XP
    مرورگر 
    Mozilla Firefox
    آنتی ویروس 
    Avast
    نوشته ها
    1,531
    تشکر
    2,004
    تشکر شده 9,409 در 1,531 پست

    پیش فرض

    tam2145 عزیز
    دستور set یکی از دستورات ویندوز xp است که سویچ های مختلفی برای کار های مختلف دارد که یکی از آن ها P/ میباشد.
    این دستور در ویندوز های قبل از 2000 هم وجود ندارد.
    بعد از SET /p یک متغیر تعیین و نوشته و سپس بعد از متغیر علامت = گذاشته و بعد سوالی را که میخواهیم از کاربر بپرسیم را
    می نویسیم مثلا" برای متغیر َََAAA می نویسیم (SET /p AAA= How old are you)

    حال بسته به جواب کاربر در فایل batch فقط یک کار میتوانیم با استفاده از فایل batch انجام دهیم (نه کار های مختلف که در زبان
    های مختلف برنامه نویسی فرضا" با IF میشود انجام داد.لذا حالا که فقط یک کار میتوانیم انجام بدهیم ولی در عمل باید دو تا کار
    انجام شود باید ترفندی بکار ببریم که من این کار را کرده ام به صورت زیر:
    سطر (if %INPUT% NEQ r goto yyy ) را گذاشته ام که اگر اجرا شد عوض اجرا کردن سطر های بعدی طبق خاصیت batch
    یکدفعه تمام سطر های بعدی را بپرد و از سطر yyy: بقیه کارش را ادامه دهد.

    و exit را بعد از notepad.exe قرار داده ام چون فایل batch طبق خاصیتش بعد از اجرای notepad.exe یک به یک تک تک سطور بعد
    را هم اجرا خواهد کرد در حالیکه ما نمیخواهیم اینکار را بکند.لذا exit را گذاشته ام تا به محض رسیدن به آن بسته شود و دیگر
    سطور بعد را اجرا نکند.
    برای درک بیشتر عبارت exit را در مثال داده شده حذف کرده و فایل را اجرا و سپس بعنوان جواب حرف r را تایپ کن خواهی دید
    که اول notepad.exe را اجرا و پشت سرش mspaint.exe را هم اجرا خواهد کرد.

    نکته : بیشتر کار ها در فایل batch با ترفند های نویسنده صورت میگیرد.


  20. 5 کاربر از پست مفید magsoud سپاس کرده اند .


صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

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

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