क्या मैं एक दर्शनीय कमांड प्रॉम्प्ट के बिना एक विंडोज बैच फ़ाइल चला सकता हूं?
विंडोज में कमांड की एक श्रृंखला को निष्पादित करने के लिए बैच फाइलें एक आसान तरीका है, लेकिन क्या उन्हें पृष्ठभूमि में अदृश्य रूप से चलाने के लिए वैसे भी है? कैसे पता करें पढ़ें.
आज का प्रश्न और उत्तर सत्र सुपरयूज़र के सौजन्य से आता है-स्टैक एक्सचेंज का एक उपखंड, क्यू एंड ए वेब साइटों का एक समुदाय-संचालित समूह है।.
प्रश्न
सुपरयूज़र पाठक जेक अदृश्य रूप से एक बैट फ़ाइल चलाना चाहता है, वह लिखता है:
मैंने रेडकार नामक एक रूबी रत्न स्थापित किया है, जिसे कमांड लाइन से लॉन्च किया गया है। जब यह चलता है, तो यह शेल को तब तक चुराता है जब तक यह समाप्त नहीं हो जाता है, इसलिए मुझे कमांड लाइन का काम जारी रखने के लिए एक नई शेल विंडो बनानी होगी। मैं जिस शेल का उपयोग कर रहा हूं वह MySysGit का GITBash शेल है.
मुझे एक Redcar.bat फ़ाइल मिली, जो कि Redcar को शॉर्टकट के रूप में लॉन्च करने के लिए है, मुझे लगता है, लेकिन मैं नहीं चाहता कि जब भी मैं BAT फ़ाइल लॉन्च करूं तो अतिरिक्त कमांड प्रॉम्प्ट विंडो खोलें।.
मैं प्रॉम्प्ट देखे बिना BAT कैसे चलाऊँ?
क्या जेक की चुपके से शीघ्र इच्छा के लिए एक समाधान है?
जवाब
सुपरयूजर का योगदानकर्ता आफ्रेज़ियर बुरे और अच्छे समाचार के संयोजन के साथ प्रतिक्रिया देता है:
आप एक बैच फ़ाइल को कमांड प्रॉम्प्ट में निर्मित नहीं कर सकते हैं, जब तक कि बैच फ़ाइल बाहर नहीं निकल जाती है, एक विंडो खुली रखने जा रही है.
क्या तुमको कर सकते हैं यह सुनिश्चित करने के लिए कदम उठाए जाते हैं कि बैच फ़ाइल जल्दी से जल्दी बाहर निकले। यदि संभव हो तो, जो भी प्रोग्राम है उसके साथ चलने के लिए बैच फ़ाइल को संशोधित करें
शुरु
आदेश। डिफ़ॉल्ट रूप से,शुरु
प्रोग्राम से बाहर निकलने का इंतजार किए बिना तुरंत वापस आ जाता है, इसलिए बैच फ़ाइल चलती रहेगी और, संभवतः, तुरंत बाहर निकलें। दंपति जो बैच फ़ाइल को चलाने के लिए अपने शॉर्टकट को संशोधित करने के साथ, और आप केवल टास्कबार फ्लैश देखेंगे, यहां तक कि एक खिड़की को भी देखे बिना.इसके लिए एक चेतावनी यह है कि यदि आप एक कंसोल-मोड प्रोग्राम चला रहे हैं, जो कई स्क्रिप्ट दुभाषियों हैं, तो बैच फ़ाइल प्रोग्राम के बाहर निकलने और उसके उपयोग का इंतजार करेगी
शुरु
एक नई कंसोल विंडो को स्पॉन करेगा। इस मामले में आपको जो करने की आवश्यकता है वह कंसोल-आधारित एक के बजाय दुभाषिया के विंडोज-आधारित संस्करण को चलाने के लिए है - नहींशुरु
ज़रूरी। पर्ल के लिए, आप दौड़ेंगेwperl.exe
के बजायperl.exe
. पायथन के लिए, यह हैpythonw.exe
के बजायpython.exe
. पुराने win32 रूबी वितरण मैंने डाउनलोड किया हैrubyw.exe
, जो एक ही काम करना चाहिए.एक छिपी खिड़की के साथ कमांड प्रॉम्प्ट को चलाने के लिए एक 3-पार्टी टूल का उपयोग करने की अंतिम संभावना है। मैंने ऐसी चीजों के बारे में सुना है, लेकिन उनके लिए कभी भी इसका उपयोग नहीं किया था, इसलिए मुझे आपको इंगित करने के लिए विशेष रूप से कुछ भी नहीं पता है.
पाठकों ने उन्हें एक अन्य सुपरयूज़र धागे की ओर भी इशारा किया जो यह बताता है कि दृश्यता को न्यूनतम करने और सीएमडी प्रांप्ट को छिपाने के लिए आप विज़ुअल बेसिक स्क्रिप्ट का उपयोग कैसे कर सकते हैं। उस धागे में, हैरी एमसी बताते हैं:
समाधान 1:
फ़ाइल के रूप में पाठ की इस एक पंक्ति को सहेजें
invisible.vbs
:CreateObject ("Wscript.Shell")। "" "और WScript.Arguments (0) और" "", 0, गलत चलाएँ।
किसी भी प्रोग्राम या बैच फ़ाइल को अदृश्य रूप से चलाने के लिए, इसे इस तरह उपयोग करें:
wscript.exe "C: \ Wherever \ invouble.vbs" "C: \ Some Other Place \ MyBatchFile.bat"
पास-ऑन / रिले करने में सक्षम होने के लिए तर्कों की एक सूची केवल दो दोहरे उद्धरण चिह्नों का उपयोग करती है
CreateObject ("Wscript.Shell") "रन" और WScript.Arguments (0) और "", 0, गलत
उदाहरण के लिए: Secure.vbs "Kill.vbs ME.exe"
समाधान 2:
चुपचाप एक प्रक्रिया शुरू करने के लिए कमांड लाइन टूल का उपयोग करें: शांत.
VBS और तीसरे पक्ष के टूल का उपयोग करके अपने आराम के स्तर के आधार पर उपरोक्त समाधानों में से किसी को भी नियोजित करना, न्यूनतम सीएमडी विंडो की दृश्यता को कम करेगा या एकमुश्त इसे हटा देगा.
स्पष्टीकरण में कुछ जोड़ना है? टिप्पणियों में ध्वनि बंद। अन्य टेक-सेवी स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तर पढ़ना चाहते हैं? पूरी चर्चा धागा यहाँ देखें.