سؤال قم بتشغيل ملف دفعي بطريقة مخفية تمامًا


أنا أبحث عن طريقة لتشغيل ملف دفعي (. bat) دون أي شيء مرئي للمستخدم (لا نافذة ، لا اسم شريط المهام ، الخ. ..).

لا أريد استخدام بعض البرامج للقيام بذلك ، فأنا أبحث عن شيء أنظف. لقد وجدت حل الذي يستخدم VBScript ، لكنني لا أحب استخدام VBS ، إما.


115
2017-10-29 12:42


الأصل


هاها! بالطبع لا. أنا على تطوير خدمة ويندوز والتي سوف تدير ملف دفعي بين الحين والآخر. - Moayad Mardini
لا تعمل خدمات Windows كملفات دفعية. تشغيلها كخدمات. تحتاج إلى توضيح السؤال - كما هو مكتوب ومع التعليقات لا معنى له بالنسبة لي. - CarlF
لدي خدمة Windows تقوم بتشغيل ملفات دفعية. لا أن الخدمة عبارة عن ملف دفعي. - Moayad Mardini
ما اللغة التي تكتب بها خدمتك؟ - Hugh Allen
هناك hstart أيضا. - barlop


الأجوبة:


الحل 1: 

احفظ سطر النص هذا كملف invisible.vbs:

CreateObject ("Wscript.Shell") قم بتشغيل "" ""   & WScript.Arguments (0) & "" ""، 0،   خاطئة

لتشغيل أي برنامج أو ملف دفعي غير مرئي ، استخدمه على النحو التالي:

wscript.exe   "C: \ Wherever \ invisible.vbs" "C: \ Some   مكان آخر \ MyBatchFile.bat "

لتتمكن أيضًا من تمرير / ترحيل قائمة من الوسيطات ، استخدم فقط علامتي اقتباس مزدوجتين

CreateObject ("Wscript.Shell").   & WScript.Arguments (0) & ""، 0،   خاطئة

مثال: Invisible.vbs "Kill.vbs ME.exe"

الحل 2:

استخدم أداة سطر الأوامر لبدء عملية بصمت: هادئ، hidecon أو hideexec.


97
2017-10-29 16:29



لماذا 4 علامات اقتباس مزدوجة ، هل يمكن أن توضح من فضلك؟ - Starx
ماذا لو احتجنا لبدء برنامج مخفي؟ - Starx
@ ستاركس VB بناء الجملة. & يعني سلسلة سلسلات. يتم تضمين السلاسل بين علامات اقتباس مزدوجة ("). علامات الاقتباس المزدوجة المتتالية ("") داخل حدود المحددات يعني اقتباس مزدوج حرفية ("). لذا ، أربع علامات اقتباس مزدوجة"""") سيكون سلسلة حرفيا من حرف واحد ، واقتباس مزدوج ("). ضعها معا ، و """" & WScript.Arguments(0) & """" قد يصبح "<argument>"، أين <argument> هي أول وسيطة سطر أوامر تم تمريرها إلى البرنامج النصي. - Bob
كيفية تعديله بحيث يمر كل الحجج؟ سيكون أكثر ملاءمة لتمرير الحجج دون اقتبس منها. - Ctrl-C
لا يزال هذا يتطلب منك إنشاء ملف دفعي لوضع wscript.exe "C:\Wherever\invisible.vbs" ... بداخل؟ - endolith


لإخفاء الملفات الدفعية أو ملفات الأوامر أو أي ملفات .... استخدم Windows XP المضمّن IExpress.exe فائدة لبناء .EXE من ملف دفعي. عند استخدام IExpress تأكد من التحقق من تشغيل خيار مخفي وتحقق علامة جميع المربعات حول عدم عرض أي شيء. بعد أن تقوم بإنشاء ملف exe الخاص بك في أي مجلد أمر التشغيل الذي تختاره ، ولن ترى ذلك أبداً.


25
2018-06-29 21:06



أوه ، حل جيد في الواقع. - Camilo Martin
هل هناك أي شيء يعادل lexpress.exe في إصدارات Windows الحديثة مثل windows 7؟ - Sнаđошƒаӽ
@ Sнаđошƒаӽ هو في ويندوز 7 .... اختبرته للتو - DarthRubik
تضمين التغريدة ردًا علىDarthRubik أنا أيضا اختبارها وأنها تعمل على ما يرام. الوقت لتوظيف الجواب. :) - Sнаđошƒаӽ
يبدو أن هذا لا يعمل على Windows 10 64 نظرًا لأن "Command.com" لم يعد موجودًا - Arne S


استعمال Cmdow هي أداة مساعدة لسطر الأوامر Win32 لـ NT4 / 2000 / XP / 2003 تسمح بإدراج النوافذ أو نقلها أو تغيير حجمها أو إعادة تسميتها أو إخفاءها / إخفاؤها أو تعطيلها أو تمكينها أو تصغيرها أو تكبيرها أو استعادتها أو تنشيطها أو تعطيلها أو إغلاقها أو قتلها أو المزيد.

تشغيل ملف دفعي مخفي تمريرها المعلمات: -

cmdo / run / hid mybat arg1 "arg 2"


8
2017-10-29 12:48



ولكن كيف يمكنني تشغيل هذا الأمر؟ - Moayad Mardini
تم اكتشاف cmdow كبرامج ضارة من قبل معظم منتجات مكافحة الفيروسات. ومن ثم سيكون من الصعب استخدام هذا الحل في أماكن أخرى غير الكمبيوتر الشخصي. - Ganesh R.
Ganesh: أي حل أفضل؟ - Moayad Mardini
هل هو مفتوح المصدر؟ ليس هناك جدوى من استخدام تطبيق جهة خارجية غير مفتوح المصدر ويمكن أن يقوم بتعبئة أحصنة طروادة عندما يمكنك فعل الشيء نفسه من خلال تشغيل vbscript 1 في harrymc (انظر الإجابة في الجزء العلوي من الموضوع). - thebunnyrules
حسنا ، إنه مفتوح المصدر ، لذلك هذا رائع جدا. يمكن الحصول على الكود المصدري هنا: github.com/ritchielawrence/cmdow - thebunnyrules


قم بتشغيل البرنامج النصي من خلال وظيفة دون أن تجعله تفاعليًا:

at 11:00 script.bat

حل آخر ، إذا كنت لا تمانع في تثبيت شيء مثل بايثون ، يمكنك ببساطة إنشاء برنامج نصي وتشغيله pythonw (النسخة المرتبطة لعمليات GUI). نظرًا لأنك لا تستخدم أي واجهات برمجة تطبيقات رسومية ، فلن يتم عرض النافذة. ببساطة استخدام المكالمات ل os.system() وسوف تقلد البرنامج النصي الدفعي ، كما هو نفس كتابة السلاسل في سطر الأوامر.

مثال:

import os

os.system("tasklist > C:\tasks.txt")
os.system("ipconfig /all > C:\netinfo.log")

7
2017-10-29 12:49



ولكن كيف يمكنني تشغيل هذا الأمر؟ - Moayad Mardini
يجب عليك إما جدولة مهمة مجدولة أو كتابة خدمة. - Unfundednut
الأمثلة المضافة. - John T


إذا كان الملف الدفعي الخاص بك يمكن أن يتناسب مع سطر واحد والعديد من الأحرف ، فما عليك سوى استخدام اختصار بالنقر بزر الماوس الأيمن داخل مجلد وضع في دليل عشوائي ، وتخطى بقية المعالج ، وأخيرًا انقر بزر الماوس الأيمن على الاختصار الذي تم إنشاؤه للتو و انقر فوق خصائص وتحت الهدف ، وإدخال ما كنت ستضع عادة في ملف الخفافيش. وبوبز عمك!

الايجابيات:

 No Command Window
 Ability to use an icon
 Same Functionality of bat file

سلبيات:

 Limited to one line, so many characters

7
2018-01-13 03:36



المشكلة الوحيدة هي أنه لا يمكنك ربط نوع ملف مع اختصار. لذلك إذا كنت تريد فتح برنامج نصي دفعة من خلال النقر المزدوج عليه في المستكشف ، فستظل بحاجة إلى ملف .bat. - Björn Lindqvist
ما زلت أحاول العثور على العم بوب ، هنا في أي مكان !! - Pimp Juice IT


باستخدام Windows7 ، يمكنك استخدام لوحة التحكم "مهمة مجدولة" لجدولة ملف دفعي للتشغيل في الخلفية بطريقة غير مرئية مع أذونات محددة وحتى كحساب "SYSTEM". انظر الصورة أدناه:

enter image description here 

علاوة على ذلك ، على الرغم من أنه ليس بقدرات كثيرة ، يمكنك أيضًا إنشاء مهمة برنامج نصي دفعة غير مرئية مثل هذا من سطر الأوامر باستخدام الأمر "AT.exe" بدون خيار "/ interactive".


5
2018-01-09 20:57



يخفي مربع الاختيار المخفي المهمة من واجهة مستخدم جدولة المهام ( - Sourav Ghosh
تشغيل مهمة كـ "SYSTEM" عندما لا تحتاج إلى امتيازات "SYSTEM" (ولم يتم فحصها بحثًا عن نقاط ضعف أمنية وتصلب) كفكرة سيئة ؛ نرى التعليقات هنا. - Scott


يمكنك تشغيله التقليل من سهولة.

start /MIN batch.cmd

4
2017-10-29 15:54



أو استخدام / ب بدلا من ذلك! - rany


لا أحب حل VBScript.

تحميل ونسخ nircmd.exe لك %systemroot%\system32 المجلد ، ثم أضف هذا الأمر إلى السطر الأول من الدفعة:

nircmd.exe win hide ititle "cmd.exe"

أو اجعل عنوان الدفعة مخصصًا أولاً title أمر لتجنب إخفاء كل شيء cmd النوافذ ، مثل هذا:

title MyBatch
nircmd.exe win hide ititle "MyBatch"

4
2018-05-12 08:25



أنا استخدم هذه الطريقة بالضبط ، ولكن فشل لبعض الوقت أن nircmd لا تخفي نافذة كمد ، فقط التقليل إلى شريط المهام ، ولا يمكن استعادتها عن طريق النقر عليها. لا أعرف لماذا ... - James Yang