هل يمكنني تشغيل Windows Batch File دون موجه الأوامر المرئية؟
تعد الملفات الدفعية طريقة سهلة لتنفيذ سلسلة من الأوامر في Windows ، ولكن هل هناك طريقة لتشغيلها بخفاء في الخلفية؟ اقرأ على معرفة كيف.
تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.
السؤال
قارئ SuperUser جايك يريد تشغيل ملف BAT بخفاء ، ويكتب:
لقد قمت بتركيب جوهرة روبي تسمى Redcar ، والتي تم إطلاقها من سطر الأوامر. عند تشغيله ، فإنه يسرق shell حتى ينتهي ، لذلك يجب إنشاء نافذة shell جديدة لمتابعة عمل سطر الأوامر. shell أنا باستخدام هو GITBash shell من MySysGit.
لقد عثرت على ملف Redcar.bat الذي يهدف إلى تشغيل Redcar كاختصار ، على الرغم من أنني لا أريد فتح نافذة الأوامر الإضافية عندما أقوم بتشغيل ملف BAT.
كيف أقوم فقط بتشغيل BAT دون رؤية المطالبة?
هل هناك حل لرغبة جيك في التخفي?
الاجابات
مساهم من SuperAser Afrazier يستجيب بمزيج من الأخبار السيئة والخاطئة:
لا يمكنك - تنفيذ ملف دفعي مع المضمنة في موجه الأوامر سيبقي نافذة مفتوحة حتى يخرج الملف الدفعي.
ماذا أنت يستطيع القيام به هو اتخاذ خطوات للتأكد من إنهاء الملف الدفعي بأسرع ما يمكن. إذا كان ذلك ممكنا ، قم بتعديل الملف الدفعي لتشغيل أي برنامج مع
بداية
أمر. بشكل افتراضي,بداية
العودة فورًا دون انتظار خروج البرنامج ، لذلك سيستمر تشغيل الملف الدفعي ، ويفترض على الفور الخروج منه. الزوجان أنه مع تعديل الاختصار الخاص بك لتشغيل ملف دفعي التقليل ، وسترى فقط شريط المهام فلاش دون حتى رؤية نافذة على الشاشة.أحد التحذيرات إلى ذلك هو أنه إذا كنت تقوم بتشغيل برنامج وضع وحدة التحكم ، والذي يكون العديد من مترجمو النصوص البرمجية ، فإن الملف الدفعي سينتظر انتهاء البرنامج ، واستخدام
بداية
سوف تفرخ نافذة وحدة تحكم جديدة. ما عليك القيام به في هذه الحالة هو تشغيل الإصدار المستندة إلى Windows من المترجم بدلاً من وحدة التحكم المستندة إلى - لابداية
ضروري. بالنسبة لبيرل ، كنت تديرwperl.exe
بدلا منperl.exe
. بالنسبة لبيثون ،pythonw.exe
بدلا منpython.exe
. توزيع win32 روبي القديم لقد قمت بتنزيلrubyw.exe
, التي يجب أن تفعل الشيء نفسه.الاحتمال الأخير هو استخدام أداة خارجية لتشغيل موجه الأوامر مع إطار مخفي. لقد سمعت عن مثل هذه الأشياء ولكن لم يكن لديها أي استخدام لها ، لذلك لا أعرف أي شيء على وجه التحديد لإرشادك.
كما أشار القراء أيضًا إلى سلسلة أخرى من برامج SuperUser التي تسلط الضوء على كيفية استخدام برنامج Visual Basic للوصول إلى أبعد من تقليل مستوى الرؤية وإخفاء مطالبة CMD تمامًا. في هذا الموضوع ، يشرح هاري ماغ:
الحل 1:
احفظ سطر النص هذا كملف
invisible.vbs
:CreateObject ("Wscript.Shell"). تشغيل "" "" & WScript.Arguments (0) & "” ””، 0، False
لتشغيل أي برنامج أو ملف دفعي غير مرئي ، استخدمه على النحو التالي:
wscript.exe "C: \ Wherever \ invisible.vbs" "C: \ Some Other Place \ MyBatchFile.bat"
لتتمكن أيضًا من تمرير / ترحيل قائمة من الوسيطات ، استخدم فقط علامتي اقتباس مزدوجتين
CreateObject ("Wscript.Shell") .تشغيل "" & WScript.Arguments (0) & ""، 0، False
على سبيل المثال: Invisible.vbs “Kill.vbs ME.exe”
الحل 2:
استخدم أداة سطر الأوامر لبدء عملية بصمت: هادئ.
إن استخدام أي من الحلول المذكورة أعلاه ، بناءً على مستوى راحتك باستخدام VBS وأدوات الطرف الثالث أو لا ، سيقلل على الأقل من رؤية نافذة CMD أو يزيلها تمامًا..
هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.