صفحه 17 از 18 نخستنخست ... 7131415161718 آخرینآخرین
نمایش نتایج: از شماره 161 تا 170 , از مجموع 173

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

  1. #161
    عضو سایت
    این کاربر شعاری برای خود انتخاب نکرده است
    تاریخ عضویت
    Aug 2017
    نوشته ها
    71
    تشکر تشکر کرده 
    30
    تشکر تشکر شده 
    17
    تشکر شده در
    14 پست
    حالت من : Konjkav
    قدرت امتیاز دهی
    7
    Array

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

    سلام خدمت استاد گرامی
    بسیار عالی آموزش می دهید خیلی ممنونم.
    سوال دیگری داشتم
    بر فرض ما از طریق داس در حال نصب برنامه xyz.exe و abc.exe هستیم و می دانیم که احتمالا یکی ازین دو بعد از نصب خود را ریستارت می کند ولی نمی دانیم کدام
    آیا دستوری هست که به داس بگوییم که از ریستارت شدن ویندوز به در هر حالتیجلوگیری کند؟

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


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

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

    بنده روشي براي انجام اين كار سراغ ندارم ولي اگر شما با انواع فايل ها آشنائي داشته باشيد، ميتوانيد
    در مواردي عمل ري استارت را حذف كنيد.

    براي مثال فرض كنيم كه برنامه XYZ.exe كه بالا اسم برديد، برنامه اي هست كه توسط نرم افزار Inno setup
    كامپايل شده باشد. در اين صورت شما با اضافه كردن سويچ NORESTART به دستور نصب اين برنامه ميتوانيد
    از ري استارت آن جلوگيري كنيد مثلا" با دستوري شبيه دستور زير فايل مربوطه هم مخفيانه نصب شده و هم
    در صورتيكه نياز به ري استارت باشد، از ري استارت جلوگيري خواهد نمود.

    کد:
    XYZ.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
    با مثال بالا ديديم كه در بعضي از موارد (نه هميشه) ميتوان از ري استارت جلوگيري كرد.

    با توجه به مسئله اي كه گفتيد، شما بايد بعد از اينكه يك برنامه را بروش هاي مختلف ساختيد، حتما" قبل
    از تحويل دادن آن به خواهانش بايستي آن را امتحان كرده و مطمئن شويد كه بدون مشكل كار ميكند.

    گاهي مي بيني كه يك فايل بخصوص در پايان كار ري استارت ميكند، و راهي هم پيدا نميكني كه از اين كار
    جلوگيري كنيد.
    دز اين صورت بهتر است اين فايل را آخرين فايلي قرار بدهي كه بايد كار كند كه در اين صورت چون بقيه برنامه ها
    اجرا شده اند، لذا ري استارت مشكلي ايجاد نخواهد كرد.

    [SIGPIC][/SIGPIC]

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


  5. #163
    عضو سایت
    این کاربر شعاری برای خود انتخاب نکرده است
    تاریخ عضویت
    Aug 2017
    نوشته ها
    71
    تشکر تشکر کرده 
    30
    تشکر تشکر شده 
    17
    تشکر شده در
    14 پست
    حالت من : Konjkav
    قدرت امتیاز دهی
    7
    Array

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

    سلام خدمت استاد گرامی
    راه حل جالبی گفتید خیلی جالب و کاربردی است.
    یک سوال دیگر
    دستوراتی که در قالب فایل هایی با پسوند bat نوشته می شوند در پسوندcmdهم کار می کنند؟ و آیا تفاوت خاصی بین دستورات این دو فرمت وجود دارد؟ و یک چیز دیگر
    دستورات این چنین فایل ها در محیط پاور شل عمل میکنند و روی ویندوز7 هم جواب می دهند؟

  6. کاربر مقابل از صمیمی عزیز به خاطر این پست مفید تشکر کرده است:


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

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

    توجه داشته باشید که پسوند cmd میتواند هم تمام دستورات bat را عمل کند و هم اینکه این دستور در ویندوز ها
    سریعتر و قوی تر از bat عمل میکند.
    لذا بهتر است پسوند تمام فایل های bat را به cmd تغییر داده و بعد استفاده نمائی.
    اما پاورشل خودش مستقل بوده و خیلی خوب هم عمل میکند ولی نمیدانم چرا هیچوقت علاقه ای پیدا نکردم که
    با پاورشل کار کنم.

    [SIGPIC][/SIGPIC]

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


  9. #165
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    617
    تشکر تشکر کرده 
    1,591
    تشکر تشکر شده 
    1,930
    تشکر شده در
    617 پست
    قدرت امتیاز دهی
    6073
    Array

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

    استاد من میخوام یه فایلی رو که exe هست توسط دستور بچ با یه فایل همنام خودش جایگزین کنم در حالت عادی خیلی راحت با xcopy یا copy اینکار انجام میشه ولی این فایل چون هم سیستمی هست و دوما باید با دستور Take Ownership دسترسی رو ازش بگیریم بعد کپی کنیم

    حالا من میخوام همه اینکارا توسط یه فایل بچ امکانپذیر بشه در حالتی که فایل در پوشه system32 هست یعنی هم دسترسی هم کپی
    این دستور چطوری باید بنویسیم

    فایل اصلی در پوشه ای در دسکتاپ هست
    در همون پوشه پوشه Mount قرار دارد که در داخلش یه ویندوز Mount شده
    حالا من میخوام فایل AA.exe رو که در دسکتاپ در پوشه test هست با فایل aa.exe موجود در پوشه C:\Users\Sahand\Desktop\Test\Mount\Windows\System3 2\aa.exe
    جایگزین کنم



    فایل
    aa.exe باید اول دسترسی بهش داده بشه بعد رونویسی بشه
    ویرایش توسط سهند : 09-15-2017 در ساعت 12:34 PM

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

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

    باید اول با دستوری نام فایل اصلی را عوض کنی (مثلا"با دستوری فایل aa.exe را تبدیل کنی به aa.exe.bak )
    و سپس فایل مورد نظرت را کپی کنی

    [SIGPIC][/SIGPIC]

  11. #167
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    617
    تشکر تشکر کرده 
    1,591
    تشکر تشکر شده 
    1,930
    تشکر شده در
    617 پست
    قدرت امتیاز دهی
    6073
    Array

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

    استاد یه سوال در مورد دستورات شرطی داشتم
    مثال
    من میخوام دستوری بنویسم که دو حالت داشته باشه
    1- اگر مقدار رجیستری در مسیر HKEY_LOCAL_MACHINE\test\Microsoft\Windows وجود داشته باشد یا کلید مورد نظر وجود داشته باشد گزینه a و انجام دهد
    2- اگر مقدار رجیستری در مسیر HKEY_LOCAL_MACHINE\test\Microsoft\Windows وجود داشته باشد یا کلید مورد نظر وجود داشته باشد گزینه b رو انجام دهد

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


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

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

    سهند عزيز، اگر خودت سوالت را يكبار مرور كني مي بيني كه سوال را نگفته اي بلكه فقط مطلبي را دو بار
    تكرار كرده اي.

    بهر حال براي سوالي كه بنده فكر ميكنم منظورت بود به شرح زير توجه نمائيد.

    فرض ميكنيم كه شما ميخواهيد بدانيد كه آيا كليد زير در رجستري موجود هست يا نه

    کد:
    HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip
    براي فهميدن اين مطلب ميتوان از دستور زير (در فايل Batch) استفاده نمود:

    کد:
      REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip
      pause
    با اجراي دستور بالا كليد فايل و زير شاخه هاي آن مثل مثال زير ظاهر خواهد شد:

    کد:
    HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip
        Path        REG_SZ  C:\Program Files\7-Zip\
        Path32      REG_SZ  C:\Program Files\7-Zip\
    اگر بخواهيم بدانيم كه آيا در كليد بالا مقدار زير شاخه path چه هست ميتوان از دستور زير استفاده نمود:

    کد:
    REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip /v path
    pause
    با اين دستور بالا مثل مثال زير نام و مقدار زير شاخه path را خواهيد ديد:

    کد:
    HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip
        path        REG_SZ  C:\Program Files\7-Zip\
    حالا اگر بخواهيم بسته به بودن يا نبودن كليدي كاري انجام دهيم ميشود مثل مثال زير عمل كرد

    با دستور زير اگر كليد xxx موجود بود فايل بچ خواهد نوشت كليد موجود است و اگر موجود نبود خواهد نوشت
    موجود نيست:

    کد:
    @ECHO OFF
    @reg query "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip" /v xxx >null
    @if %ERRORLEVEL% EQU 0 (
    cls
    echo exists) else (
    cls
    echo not exists)
    @PAUSE
    من در مثال بالا از دستور echo استفاده كردم ولي شما ميتوانيد هر دستور ديگري را برحسب نياز استفاده
    نمائيد.
    موفق باشد.

    [SIGPIC][/SIGPIC]

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


  15. #169
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    617
    تشکر تشکر کرده 
    1,591
    تشکر تشکر شده 
    1,930
    تشکر شده در
    617 پست
    قدرت امتیاز دهی
    6073
    Array

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

    استاد یه سوال دیگه

    من یه فایل bat دارم حالا میخوام اگر کلید موجود بود کلمه yes رو نشون بده بعد ادامه فایل bat دستورات رو ادامه بده
    اینم فایل bat

    کد HTML:
    ECHO OFF
    reg query "HKEY_LOCAL_MACHINE\test"
    if %ERRORLEVEL% EQU 0 (
    cls
    echo yes) else (
    cls
    echo.
    echo.                          ***test key UnLoad***)
    
    Reg.exe add "HKEY_LOCAL_MACHINE\test\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To" /ve /t REG_SZ /d "{C2FBB631-2971-11D1-A18C-00C04FD75D13}" /f
    Reg.exe add "HKEY_LOCAL_MACHINE\test\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To" /ve /t REG_SZ /d "{C2FBB630-2971-11D1-A18C-00C04FD75D13}" /f

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


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

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

    سهند عزيز، اگر سوالتان را درست متوجه شده باشم، منظورتان اين است كه:

    ... فايل Batch در زمان لازم عبارت yes را نشان داده و چند لحظه صبر كند كه كاربر كاملا" متوجه شود (مثلا"
    10 ثانيه صبر كند) و بعد دستورات بعدي را اجرا كند ........

    اگر منظورتان همين است كه ميتوانيد بشرح زير عمل كنيد.و گرنه بيشتر شرح دهيد.

    روش هاي متفاوتي براي مكث كردن و منتظر بودن وجود دارد كه من يك روش ساده را توضيح ميدهم.

    اگر " Windows Server 2003 Resource Kit" را دانلود كزده و از فشردگي در آوريد، فايل هاي زيادي در داحل آن
    خواهيد ديد كه يكي از آن ها sleep.exe نام دارد.

    حال با فرض اينكه شما ميخواهيد فايل Batch شما پس از نشان دادن عبارت yes مدت 10 ثانيه صبر كرده و
    بعد شروع به اجراي بقيه دستورات بكند بشرح زير عمل كنيد:

    اول فايل sleep.exe را در كنار فايل Batch خود قرار دهيد.
    حالا در فايل Batch بعد از سطري كه دستور نشان دادن عبارت yes را داده دستور زير را اضافه كنيد:

    sleep 10

    توضيح اينكه در دستور بالا عدد 10 تعداد ثانيه هائي هست كه برنامه قبل از اجراي دستورات بعدي صبر خواهد
    كرد و شما ميتوانيد بجاي عدد 10 هر عدد ديگري را بنا بر نياز استفاده نمائيد.

    [SIGPIC][/SIGPIC]

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


صفحه 17 از 18 نخستنخست ... 7131415161718 آخرینآخرین

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

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

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

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

http://www.worldup.ir/