फ़ाइल के निष्पादन के बाद कंसोल के ऑटो-समापन को रोकने के लिए मैं एक बैच फ़ाइल के अंत में क्या कमांड रख सकता हूं?
फ़ाइल के निष्पादन के बाद कंसोल के ऑटो-समापन को रोकने के लिए मैं एक बैच फ़ाइल के अंत में क्या कमांड रख सकता हूं?
जवाबों:
Windows / DOS बैच फ़ाइलों में:
pause
यह एक अच्छा "Press any key to continue . . . "
संदेश प्रिंट करता है
या, यदि आप "Press any key to continue . . ."
संदेश नहीं चाहते हैं , तो इसके बजाय यह करें:
pause >nul
सटीक सवाल पर निर्भर करता है!
आम तौर पर pause
एक .bat फ़ाइल के भीतर काम करता है ।
यदि आप चाहते हैं कि cmd.exe टाइप करना बंद करने में सक्षम न हो, cmd /k
तो फ़ाइल के अंत में कमांड का उपयोग करें ।
cmd /k
इसके बजाय अपनी कमांड से पहले रखें। & cmd /k
काम नहीं करेगा।
यदि आप चाहते हैं कि cmd.exe बंद न हो, और टाइप करना, उपयोग करना जारी रखने में सक्षम हो
cmd /k
बस स्पष्ट करने की आवश्यकता महसूस हुई कि /k
(विंडोज़ वेबसाइट से) क्या करता है:
/k
: स्ट्रिंग द्वारा निर्दिष्ट कमांड को जारी रखता है और जारी रखता है।
तो cmd /k
बैट फाइल के अंत में फॉलो अप कमांड के बिना बस cmd.exe
आगे के उपयोग के लिए खिड़की खुली रहेगी ।
दूसरी ओर pause
एक बैच फ़ाइल के अंत में प्रक्रिया को रोक दिया जाएगा और cmd.exe
पहले बटन प्रेस पर समाप्त हो जाएगा
बैच फ़ाइल में कमांड रखने का नया तरीका नई कमांड प्रॉम्प्ट विंडो खोलेगा और नई विंडो स्वचालित रूप से बाहर नहीं निकलेंगी।
start "title" call abcd.exe param1 param2
start "title" call xyz.exe param1 param2
यदि आप मावेन का उपयोग कर रहे हैं और आप टाइपिंग को छोड़ना चाहते हैं और कंसोल को पास से रोक सकते हैं, तो परिणाम देखने के लिए आपको CALL
स्क्रिप्ट में कमांड का उपयोग करने की आवश्यकता है , इसके अलावा सिर्फ 'mvan क्लीन इंस्टॉल'।
जैसे यह कंसोल को बंद कर देगा
ECHO This is the wrong exemple
mvn clean install
pause
इस तरह कंसोल खुला रहेगा
ECHO This is the right exemple
CALL mvn clean install
pause
यदि आप CALL
कमांड का उपयोग नहीं करते हैं, तो न तो अतीत की छूट काम करेगी।
call <myCommand>
ने इस समस्या को हल किया: मेरा प्रांप्ट पहले निष्पादन के बाद बंद होना बंद हो गया
cmd.exe
आप जिस कोड को निष्पादित करना चाहते हैं उसके नीचे एक नई पंक्ति के रूप में जोड़ें :
c:\Python27\python D:\code\simple_http_server.py
cmd.exe
python script.py %1 && cmd
मेरा तरीका एक वास्तविक बैच ("foo.bat" कहकर) काम खत्म करने का है; फिर एक और "start.bat" बनाएं:
@echo off
cmd /k foo.bat
मुझे लगता है कि यह बेहद उपयोगी है जब मैं एक बार पर्यावरण चर स्थापित करता हूं।
cmd /k
के अंत में बस (बिना किसी आदेश के) रख सकते हैं foo.bat
और चला सकते हैं। आपको एक अलग start.bat
फ़ाइल की आवश्यकता नहीं है ।
cmd
बैच फ़ाइल के अंत में कॉल करें ।
संभावना 1: बस 2 .bat फ़ाइलें बनाएं और पहले में लिखें:
start <filename> // name of 2nd batch file
exit
बैच फ़ाइल 2 वह फ़ाइल है जो अंत में बंद नहीं होगी। तो अब जब आप बैच nr.1 खोलते हैं। यह दूसरा और क्लो को शुरू करेगा। जब दूसरा खत्म हो जाता है तो यह पूरी तरह से बंद नहीं होगा (जब तक आप अंत में बाहर नहीं निकलेंगे)
संभावना 2: बैच फ़ाइल 1:
call <filename>
cls
echo End of file
pause
<any code you want>
जब दूसरी फ़ाइल समाप्त हो जाती है तो यह फिर से 1 फाइल करने के लिए आगे बढ़ेगा और बाकी के आउटपुट देगा। इसके साथ ही आप एरर हैंडलर भी बना सकते हैं। यदि nr.1 क्रैश हो जाता है तो यह nr.2 में चला जाता है और इसे प्रदर्शित करता है
यह छोटी सी हैक उपयोगकर्ता को एक कुंजी दर्ज करने के लिए कहती है और इसे चर% एक्ज़िटेक% में संग्रहीत करती है (इस चर को आप कुछ भी कह सकते हैं, हालांकि)।
set /p exitkey= "Press any key to continue..."
NB: '=' के बाद का स्थान बहुत महत्वपूर्ण है
मुझे पता है कि मुझे देर हो गई है लेकिन मेरा पसंदीदा तरीका है:
:programend
pause>nul
GOTO programend
इस तरह उपयोगकर्ता प्रवेश का उपयोग कर बाहर नहीं निकल सकता है।
यह करने के दो तरीके हैं यह उपयोग के मामले पर निर्भर करता है
1) यदि आप चाहते हैं कि विंडोज cmd शीघ्र खुला रहे ताकि आप निष्पादन परिणाम देख सकें और बाद में इसे बंद कर सकें; उपयोग
pause
2) यदि आप चाहते हैं कि विंडोज cmd खुला रहे और आपको कुछ कमांड आफ्टरवेयर निष्पादित करने की अनुमति दे; उपयोग
cmd
आराम से, बल्ले की अंतिम पंक्ति में cmd जोड़ें, लेकिन! यदि आप अपना सिस्टम पथ रीसेट या साफ़ करते हैं, तो आपको अपना cmd पूर्ण पथ से शुरू करना होगा, जैसे:
%windir%\system32\cmd.exe
उदाहरण के लिए, मेरे पास इस तरह पुराने संस्करण में jdk रीसेट करने के लिए एक बैट फाइल है:
PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
%windir%\system32\cmd.exe
चूँकि मैंने सिस्टम पथ को रीसेट कर दिया है, मुझे cmd को पूरे पथ के साथ चलाना है, या सिस्टम cmd.exe नहीं ढूँढ सकता है, यह cmd चलाने में विफल रहेगा, और बस विंडो को बंद कर देगा, और आप त्रुटि को नहीं देख सकते ।