Cmd.exe के लिए ^ D (bash में) के बराबर है?


27

क्या विंडोज पर कमांड प्रॉम्प्ट से बाहर निकलने के लिए एक समान कुंजी-स्ट्रोक है (स्टार्ट-रन के माध्यम से लॉन्च: cmd) बैश के लिए स्टैंडबाय Ctrl- शेल छोड़ने के dलिए टाइप exitकरने की आवश्यकता को रोकने के लिए ?

जवाबों:


19

नंबर CtrlDपर * निक्स एक ईओएफ उत्पन्न करता है, जिसे विभिन्न शैल रनिंग के रूप में व्याख्या करते हैं exit। विंडोज पर ईओएफ के लिए बराबर है CtrlZ, लेकिन cmd.exe इसे विशेष रूप से व्याख्या नहीं करता है जब प्रॉम्प्ट पर टाइप किया जाता है।


3
अधिकांश आधुनिक गोले के साथ, टर्मिनल कैनोनिकल इनपुट मोड में नहीं है जब शेल अंतःक्रियात्मक रूप से इनपुट को स्वीकार कर रहा है, और Ctrl+Dवास्तव में सिर्फ एक साधारण चरित्र है कि ईओएफ विशेष चरित्र। गोले Ctrl+Dएक GNU रीडलाइन या ZLE क्रिया से बंधते हैं जो बाहर निकलता है (लेकिन केवल यदि पंक्ति संपादन बफ़र खाली है) तो व्यवहार ज्यादातर एक ही परिणाम है। लेकिन Ctrl+Dहै नहीं आधुनिक गोले, बस एक साधारण नियंत्रण चरित्र के साथ EOF। संपादन बफ़र खाली नहीं होने पर व्यवहार EOF विशेष वर्ण के साथ क्या होता है के रूप में स्पष्ट रूप से भिन्न है।
JdeBP

3
वास्तव में, निकटतम विंडोज NT क्या bashएट अल के बराबर है । वास्तव में कर रहे हैं एक TCC / LE autoexecuting कीबोर्ड उपनाम, जैसे कि यह एक , जहां कमांड दुभाषिया (कंसोल नहीं) लाइन संपादन के दौरान साधारण कीस्ट्रोक संयोजन को पहचानता है ALT+F4और exitप्रतिक्रिया में अंतर्निहित कमांड को निष्पादित करता है ।
JdeBP

@JdeBP बंद जा रहे इस प्रारंभिक बिंदु के रूप में, मैं सिर्फ बैश 4.4.12 और के साथ इस परीक्षण किया stty -aरिटर्न icanon(यानी नहीं -icanon)। क्या With most modern shells, the terminal is not in canonical input mode when the shell is interactively accepting inputइस समय आपकी टिप्पणी सांख्यिकीय रूप से सही है?
लेवेंट ने

10

Alt- Space। फिर, C

हाँ, यह थोड़ा धीमा है Ctrl- से D। लेकिन यह वही उत्तर है जो आप पूछ रहे हैं: अंतर्निहित समतुल्य कुंजी स्ट्रोक अनुक्रम जो आपको exitकमांड टाइप करने की आवश्यकता के बिना प्रॉम्प्ट से बाहर निकलने देता है । किसी तीसरे पक्ष के सॉफ़्टवेयर की आवश्यकता नहीं है।

यह पूरी तरह से बैश के समान काम नहीं कर सकता है: बैश केवल एक खाली कमांड लाइन पर लॉगआउट होगा। विंडोज में, यह विंडो को बंद कर सकता है, भले ही आपने उस पर आंशिक कमांड टाइप किया हो।


: D: D: D: D: D: D
Fatih

3

CMD.exe में मैक्रोज़ बनाने के लिए आप DOSKEY का उपयोग कर सकते हैं ।

मैक्रो प्रकार बनाने के लिए:

DOSKEY [macroname]=[command(s)]

इस तरह आप किसी अन्य कमांड की कुंजी को बांध सकते हैं।

उदाहरण:

DOSKEY e=exit

बाध्य होगा eकरने के लिए exitआदेश है, इसलिए जब आप इनपुट एक eशीघ्र करने के लिए इसे आप इनपुट एक जैसा होगाexit

मुझे यकीन नहीं है कि आप उपयोग कर सकते हैं CTRL- $nमैक्रोज़ के रूप में संयोजन हालांकि


अधिकांश नियंत्रण वर्ण ठीक काम करते हैं (केवल पहले से ही कंसोल द्वारा नियंत्रित किए गए लोगों को छोड़कर)। लेकिन cmdबस उन्हें सामान्य आदेशों के रूप में व्याख्या करता Enterहै, दबाए जाने की प्रतीक्षा कर रहा है, इसलिए केवल eया तो Ctrl-Z बनाम अलियासिंग का कोई फायदा नहीं है x
ग्रैविटी २१'१२ को

3

निश्चित ऑटोहोटेक दृष्टिकोण। (मैं एक टिप्पणी नहीं जोड़ सकता।)

#IfWinActive, ahk_class ConsoleWindowClass
  ^d::
    ; First send ESC, in case we're in select mode.
    Send {Esc}{Esc}exit{Enter}
#IfWinActive

1

अब http://code.google.com/p/clink/ पर एक ओपन सोर्स प्रोजेक्ट है जिसे संपादित करें (संपादित करें: इसे http://mridgers.github.io/clink/ पर ले जाया गया ) - यह यूनिक्स रीडलाइन कार्यक्षमता लाता है विंडोज कमांड प्रॉम्प्ट।

यह कमांड-लाइन एडिटिंग, इतिहास खोज, पूर्ण स्क्रिप्ट के साथ-साथ टैब आदि सहित अधिकांश कार्यक्षमता का समर्थन करता है। अच्छी तरह से जाँच के लायक है, cmd को बहुत कम चूसता है। ;]


0

आप इस AutoHotKey स्निपेट के साथ समान प्रभाव प्राप्त कर सकते हैं :

; Close Command Prompt when pressing Ctrl+D
#IfWinActive, Command Prompt$
  ^d::
    ; First send ESC, in case we're in select mode.
    Send {Esc}{Esc}exit{Enter}
#IfWinActive

काम करने के लिए प्रतीत नहीं होता, कोई सुराग क्यों?

@AvindraGoolcharan: मुझे बताया गया है कि आप कमांड प्रॉम्प्ट को कैसे शुरू करते हैं, इस पर निर्भर करता है कि खिड़की का शीर्षक इस स्क्रिप्ट में मेरे द्वारा उपयोग किए गए से अलग हो सकता है। आपकी वरीयता के आधार पर दूसरी पंक्ति को समायोजन की आवश्यकता हो सकती है।
डेर होकस्टाप्लर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.