startपहले से ही सही दिशा होनी चाहिए। हालाँकि, /bइसे उसी कंसोल से जोड़ता है। अब समस्या यह है कि जब कंसोल विंडो बंद हो जाती है, तो इस कंसोल से जुड़ी कोई भी प्रक्रिया भी बंद हो जाएगी।
आप या तो startबिना उपयोग कर सकते हैं /b, फिर यह एक नए कंसोल में चलेगा। यदि आप इसे कंसोल विंडो के बिना पृष्ठभूमि में चलाना चाहते हैं, तो आपको वीबीएसस्क्रिप्ट या थर्ड-पार्टी टूल का उपयोग करना होगा: पूरी तरह से छिपे हुए तरीके से एक बैच फ़ाइल चलाएँ
हालाँकि, उस स्थिति में आप stdout / stderr आउटपुट अब नहीं देखेंगे। आप इसे एक फ़ाइल में पुनर्निर्देशित कर सकते हैं, हालांकि इसे cmd /c your_command > stdout.txt 2> stderr.txtकॉल में लपेटकर और उपरोक्त तरीकों में से एक के माध्यम से इसे शुरू कर सकते हैं (VBScript, तृतीय-पक्ष उपकरण, ...)।
वैकल्पिक रूप से, आप बाहर निकलने से पहले अपनी खुद की कंसोल विंडो भी छिपा सकते हैं। मैंने अभी थोड़ा एक-लाइन प्रोग्राम लिखा है जो वास्तव में ऐसा करता है (स्रोत कोड मूल रूप से है ShowWindow(GetConsoleWindow(), SW_HIDE)): http://share.cherrytree.at/showfile-24286/hide_current_console.exe
इस तरह, आप उपयोग कर सकते हैं start /b, और जब आप अपने कंसोल को "बंद" करना चाहते हैं (तकनीकी रूप से इसे छिपाते हैं), तो आप चलाएंगे hide_current_console & exitजो कंसोल को छिपाएगा और फिर cmd.exe प्रक्रिया को बंद करेगा (न कि अजगर प्रक्रिया को) - एक पंक्ति में, चूंकि आप exitकंसोल को पहले से ही छिपाए जाने के बाद टाइप नहीं कर सकते हैं ।
hide_current_consoleसे आता है? एक W10 पीसी पर काम नहीं करता है।