सवाल पूरी तरह छिपे हुए तरीके से बैच फ़ाइल चलाएं


मैं बैच फ़ाइल (.bat) को उपयोगकर्ता को दिखाई देने के बिना कुछ भी ढूंढ रहा हूं (कोई खिड़की नहीं, कोई टास्कबार नाम, .etc ..)।

मैं ऐसा करने के लिए कुछ प्रोग्राम का उपयोग नहीं करना चाहता, मैं कुछ क्लीनर की तलाश में हूं। मुझे मिल गया है एक तरकीब जो वीबीस्क्रिप्ट का उपयोग करता है, लेकिन मुझे वास्तव में वीबीएस का उपयोग करना पसंद नहीं है।


115
2017-10-29 12:42


मूल


Haha! निश्चित रूप से नहीं। मैं एक विंडोज सेवा विकसित कर रहा हूं जो हर समय एक बैच फ़ाइल चलाएगा। - Moayad Mardini
विंडोज सेवाएं बैच फ़ाइलों के रूप में नहीं चलती हैं। वे सेवाओं के रूप में चलाते हैं। आपको प्रश्न को स्पष्ट करने की आवश्यकता है - लिखित और टिप्पणियों के साथ यह मुझे कोई समझ नहीं आता है। - CarlF
मेरे पास एक विंडोज सेवा है जो बैच फ़ाइलों को चलाती है। यह नहीं कि सेवा एक बैच फ़ाइल है। - Moayad Mardini
आप अपनी सेवा किस भाषा में लिख रहे हैं? - Hugh Allen
वहाँ भी हैस्टार्ट है। - barlop


जवाब:


समाधान 1: 

फ़ाइल के रूप में इस पंक्ति की एक पंक्ति को सहेजें invisible.vbs:

CreateObject ("Wscript.Shell")। "" "" "   और WScript.Arguments (0) और "" "" 0,   असत्य

किसी प्रोग्राम या बैच फ़ाइल को अदृश्य तरीके से चलाने के लिए, इसे इस तरह उपयोग करें:

wscript.exe   "सी: \ कहीं भी \ invisible.vbs" "सी: \ कुछ   अन्य स्थान \ 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
@Starx वीबी वाक्यविन्यास। & मतलब तारों को जोड़ना है। स्ट्रिंग्स डबल कोट्स में संलग्न हैं (")। अभिसरण डबल उद्धरण ("") स्ट्रिंग delimiters के अंदर एक शाब्दिक डबल उद्धरण का मतलब है (")। तो, चार डबल उद्धरण ("""") एक चरित्र का एक स्ट्रिंग अक्षर होगा, एक डबल कोट (")। इसे एक साथ रखो, और """" & WScript.Arguments(0) & """" बन जाएगा "<argument>", कहा पे <argument> स्क्रिप्ट को पास किया गया पहला कमांड लाइन तर्क है। - Bob
इसे कैसे संशोधित करें ताकि यह सभी तर्कों को पार कर सके? उन्हें उद्धृत किए बिना तर्क पारित करना अधिक सुविधाजनक होगा। - Ctrl-C
क्या आपको अभी भी डालने के लिए बैच फ़ाइल बनाने की आवश्यकता नहीं है wscript.exe "C:\Wherever\invisible.vbs" ... का भीतर? - endolith


बैच फ़ाइलों या कमांड फ़ाइलों या किसी भी फाइल को छिपाने के लिए .... में निर्मित विंडोज एक्सपी का प्रयोग करें IExpress.exe बैच फ़ाइल से .EXE बनाने के लिए उपयोगिता। उपयोग करते समय IExpress सुनिश्चित करें कि आप रन छुपे हुए विकल्प की जांच करें और कुछ भी दिखने के बारे में सभी बक्से चिह्नित करें। आपके .exe को आपके द्वारा चुने गए किसी भी रन कमांड फ़ोल्डर में रखने के बाद और आप इसे कभी नहीं देख पाएंगे।


25
2018-06-29 21:06



ओह, वास्तव में अच्छा समाधान। - Camilo Martin
विंडोज 7 जैसे नए विंडोज़ संस्करणों में lexpress.exe के बराबर कुछ भी है? - Sнаđошƒаӽ
@ Sнаđошƒаӽ यह विंडोज 7 में है .... बस इसका परीक्षण किया - DarthRubik
@DarthRubik इसे साझा करने के लिए धन्यवाद। मैंने भी इसका परीक्षण किया और यह ठीक काम करता है। उत्तर को ऊपर उठाने का समय। :) - Sнаđошƒаӽ
ऐसा लगता है कि "Command.com" अब मौजूद नहीं है क्योंकि यह विंडोज 10 64 पर काम नहीं कर रहा है - Arne S


उपयोग Cmdow NT4 / 2000 / XP / 2003 के लिए एक Win32 कमांडलाइन उपयोगिता है जो विंडोज़ को सूचीबद्ध, स्थानांतरित, आकार बदलने, नामित, छुपा / अप्रयुक्त, अक्षम / सक्षम, न्यूनतम, अधिकतम, बहाल, सक्रिय / निष्क्रिय, बंद, मार डाला और अधिक की अनुमति देता है।

इसे पैरामीटर पास करने वाले छिपे हुए बैच फ़ाइल को चलाएं: -

cmdow / run / hid mybat arg1 "arg 2"


8
2017-10-29 12:48



लेकिन मैं इस आदेश को कैसे चलाऊंगा? - Moayad Mardini
अधिकांश एंटीवायरस उत्पादों द्वारा cmdow को मैलवेयर के रूप में पहचाना जाता है। इसलिए इस समाधान का उपयोग अपने पीसी के अलावा अन्य स्थानों में करना मुश्किल होगा। - Ganesh R.
@ गणेश: कोई बेहतर समाधान? - Moayad Mardini
क्या यह खुला स्रोत है? किसी तृतीय पक्ष ऐप का उपयोग करने में कोई बात नहीं है जो ओपन सोर्स नहीं है और ट्रोजन को पैक कर सकता है जब आप हैरीमैक की 1 लाइन vbscript चलाकर एक ही चीज़ कर सकते हैं (देखें कि वह थ्रेड के शीर्ष पर जवाब देता है)। - thebunnyrules
खैर, यह खुला स्रोत है, इसलिए यह बहुत बढ़िया है। यहां स्रोत कोड प्राप्त कर सकते हैं: github.com/ritchielawrence/cmdow - thebunnyrules


इसे इंटरैक्टिव किए बिना नौकरी के माध्यम से स्क्रिप्ट चलाएं:

at 11:00 script.bat

एक और समाधान, यदि आपको पायथन जैसे कुछ इंस्टॉल करने में कोई फर्क नहीं पड़ता है, तो आप बस एक स्क्रिप्ट बना सकते हैं और इसे चला सकते हैं pythonw (जीयूआई संचालन के लिए लिंक संस्करण)। चूंकि आप किसी भी ग्राफिकल एपीआई का उपयोग नहीं कर रहे हैं, इसलिए विंडो नहीं दिखाई देगी। बस कॉल का उपयोग करें 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-file की आवश्यकता है। - Björn Lindqvist
मैं अभी भी अंकल बॉब को खोजने की कोशिश कर रहा हूं, यहां कहीं भी है !! - Pimp Juice IT


विंडोज 7 का उपयोग करके, आप "अनुसूचित कार्य" नियंत्रण कक्ष का उपयोग बैच फ़ाइल को निर्दिष्ट अनुमतियों के साथ और "सिस्टम" खाते के रूप में अदृश्य रूप से पृष्ठभूमि में चलाने के लिए शेड्यूल करने के लिए कर सकते हैं। नीचे स्क्रीनशॉट देखें:

enter image description here 

इसके अलावा, हालांकि कई क्षमताओं के साथ, आप "AT.exe" कमांड के बिना 'इंटरैक्टिव' विकल्प के बिना कमांड लाइन से इस तरह एक अदृश्य बैच स्क्रिप्ट कार्य भी बना सकते हैं।


5
2018-01-09 20:57



छुपा चेकबॉक्स बस कार्य शेड्यूलर उपयोगकर्ता इंटरफ़ेस से कार्य छुपाता है ( - Sourav Ghosh
एक कार्य को "सिस्टम" के रूप में चलाते समय इसे "सिस्टम" विशेषाधिकारों की आवश्यकता नहीं होती है (और सुरक्षा कमजोरियों के लिए जांच नहीं की जाती है, और कठोर विचार) एक बुरा विचार के रूप में; देख यहां टिप्पणियां। - Scott


आप इसे आसानी से कम कर सकते हैं।

start /MIN batch.cmd

4
2017-10-29 15:54



या इसके बजाय / बी का उपयोग करें! - rany


मुझे वीबीस्क्रिप्ट समाधान पसंद नहीं है।

डाउनलोड करें और कॉपी करें 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 cmd विंडो को छिपा नहीं है, बस टास्कबार में छोटा है, और इसे क्लिक करके पुनर्स्थापित नहीं किया जा सकता है। पता नहीं क्यों... - James Yang


ऐसा लगता है कि किसी ने 'चुप' चलाने के 7-8 तरीकों की एक सूची बनाई है:

http://forums.techguy.org/dos-other/644932-solved-howto-run-batch-file.html


3
2018-01-26 19:38



कृपया उन्हें यहां सूचीबद्ध करें, एक उत्तर पोस्ट न करें जो कहीं और एक लिंक है। - endolith


उत्कृष्ट एक्स कनवर्टर करने के लिए बल्लेबाज आपका कन्वर्ट करेगा .bat या .cmd एक फ़ाइल .exe फ़ाइल।

इसमें एक साधारण यूआई है। आप कंसोल विंडो नहीं चुन सकते हैं "अदृश्य एप्लिकेशन" विकल्प का चयन करके। साथ ही, यह आपको एक आइकन असाइन करने की अनुमति देता है, पैकेज संबंधित फाइलें, और कई अन्य विकल्प।

मुख्य इंटरफ़ेस विंडो का एक स्क्रीनशॉट यहां दिया गया है:


ध्यान दें कि यह छवि पुरानी है। यह संस्करण 2.4.8 दिखाता है, और सितंबर 2018 तक, वेबसाइट संस्करण 3.0.10.0 प्रदान करता है (अंतिम अपडेट 2018-03-23)।

चेतावनी: www.f2ko.de वेबसाइट से लिंक है coinhive.com, जो है व्यापक रूप से  पहचान की  जैसा  मैलवेयर


3
2017-10-30 13:15





किसी अन्य तरीके से, सी / सी ++ से, CREATE_NO_WINDOW ध्वज के साथ CreateProcess फ़ंक्शन का उपयोग करना है। इसमें बहुत अधिक अतिरिक्त शक्ति नहीं है जो यहां दिखाई नहीं दे रही है। यह केवल न्यूनतम है जिसे आपको सिस्टम () या _spawn () परिवार को प्रतिस्थापित करने की आवश्यकता है।

STARTUPINFO si;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);

PROCESS_INFORMATION pi;
ZeroMemory( &pi, sizeof(pi) );

// Spawn creates a cmd.exe window.  CreateProcess doesn't.
//if ( _spawnl( _P_WAIT, szFileNameBAT, szFileNameBAT, NULL ) ) {  
if ( !CreateProcess( szFileNameBAT, szFileNameBAT, NULL, NULL, false,
                     CREATE_NO_WINDOW, NULL, NULL, &si, &pi  ) ) {
  MyErrorFunc( "CreateProcess( \"%s\" ): %d", szFileNameBAT, GetLastError() );
  goto MyErrorHandling;
}

WaitForSingleObject( pi.hProcess, INFINITE );

CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );

2
2018-06-19 08:27