Cmd.exe कमांड इतिहास को सत्रों के बीच रखें?


75

क्या सत्र के बीच cmd कमांड इतिहास रखने का एक तरीका है?

जवाबों:


22

PowerShell का उपयोग करने के लिए स्विच करें, और इतिहास को सक्षम करने के लिए निम्नलिखित साइट पर दिए गए निर्देशों का पालन करें:

http://blogs.msdn.com/b/powershell/archive/2006/07/01/perserving-command-history-across-sessions.aspx

वैकल्पिक रूप से, cmd.exe में, आप अपने सत्र के अंत में "डॉसकी / इतिहास" का उपयोग कर सकते हैं, यह दिखाने के लिए कि आपने उस सत्र में क्या टाइप किया था, लेकिन वास्तव में इसे अगले सत्र में लोड करने का कोई तरीका नहीं है।


6
मैंने इसे +1 किया, क्योंकि "PowerShell का उपयोग करने के लिए स्विच" आवश्यक रूप से आसान नहीं है क्योंकि यह इस बात पर निर्भर करता है कि आप किस प्रकार के सामान के लिए कंसोल का उपयोग कर रहे हैं, लेकिन जानकारी सटीक soooooooooo;) है
शिनराई

2
माना। मैंने इसे नीचे रखने में संकोच किया, लेकिन यह एकमात्र वास्तविक उत्तर है जिसे मैं पा सकता हूं। मैंने कुछ इसी तरह के वर्कस्टेशन पर जाने की कोशिश की थी जो मैंने पहले भी किया था, लेकिन अभी कोई लगातार इतिहास तंत्र cmd.exe के लिए उपलब्ध नहीं है :-(
Hyppy

ध्यान दें कि यह आपके द्वारा लिखी गई आदेशों की एक सूची रखेगा, लेकिन यह उन आदेशों की सूची को परिवर्तित नहीं करता है जब आप कीबोर्ड पर कुंजी दबाते हैं। यह दूसरे शब्दों में "डोसकी" कार्यक्षमता को प्रभावित नहीं करता है।
मार्क

ध्यान दिया जाना चाहिए कि cmd में काम करने वाली कुछ कमांड्स PowerShell में समान काम नहीं करती हैं। उदाहरण के लिए, -Dmaven.test.skip = true को डैश से पहले दिखाए गए बैकटिक की आवश्यकता होगी
Drenai

62

मुझे 2 तरीके मिले हैं, जिनमें से किसी को भी PowerShell पर स्विच करने की आवश्यकता नहीं है।

  1. क्लिंक स्थापित करें , जो cmd.exeलगातार इतिहास और बहुत कुछ के साथ बढ़ाता है । बस इसे स्थापित करें और फिर cmdसामान्य रूप से खोलें ।

  2. TCC / LE नि: शुल्क संस्करण स्थापित करें , जो एक अलग कार्यक्रम है, फिर से एक उन्नत संस्करण प्रदान करता है cmd.exe


5
मैं सिस्टम-वाइड रिप्लेसिंग के खिलाफ थोड़ा आशंकित हूं cmd.exeलेकिन इसका अच्छा जवाब है, और क्लिंक एक इंजेक्शन मोड का भी समर्थन करता है।
लॉरेंज लो सॉयर

4
वाह, क्लिंक शानदार है।
क्रिस वेबर

4
क्लिंक शानदार है। cmdइसके साथ प्रतिस्थापित , कोई समस्या नहीं थी, इससे बहुत खुश थे।
कर्नल पैनिक

2
क्लिंक अद्भुत है!
होआंग हुइन्ह

3
यह स्वीकृत उत्तर होना चाहिए। क्यूंकि यही तो सवाल पूछा है .. !! यह किसी अन्य वैकल्पिक एप्लिकेशन का उपयोग करने के बजाय सबसे अच्छा है।
समिथा चतुर्भुज

12

इतिहास को सहेजना एक छोटा सा वर्कफ़्लो है - यहाँ ऐसा करने के लिए एक कम "भारी" तरीका है (कोई बाहरी काम नहीं)।

अपना इतिहास सेट करने के लिए एक बैट / cmd फ़ाइल बनाएँ, इस मामले में मैंने इसे MyEnvironment.cmd कहा:

doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls

फिर इसे "स्टार्ट-> रन" से चलाएं (आप इसके लिए एक उपनाम भी सेट कर सकते हैं):

cmd.exe /K C:\MyEnvironment.cmd

हर बार जब मैं एक सत्र बंद कर रहा हूं तो मैंने "पद छोड़ दिया" - या अगर मुझे इतिहास के मध्य सत्र के खोने का डर है तो मैंने "बचाओ" मारा। अगर मैं इतिहास में किसी चीज़ के लिए जीरो करना चाहता हूं, तो मैं सिर्फ "इतिहास KEYWORD" को हिट करता हूं।


@ Dave_thompson_085 की टिप्पणी के अनुसार, AutoRunयदि आप /Kस्विच का उपयोग नहीं करना चाहते हैं , तो सुविधा अच्छी तरह से काम करती है । यदि आप रजिस्ट्री कुंजी को सही ढंग से सेट करते हैं, .cmdया .batइसमें होने की आवश्यकता नहीं है %AppData%, तो यह उसी स्थान पर हो सकता है जहां यह पहले से है।

यदि आप %AppData%स्थान का उपयोग करते हैं , तो अवगत रहें कि cmd शायद आपके बैच फ़ाइल को "रोमिंग" फ़ोल्डर (AppData रूट के बजाय) में खोजेगा।

AutoRunCMD फ़ीचर की अधिक जानकारी : https://superuser.com/a/302553/333316


क्या $gऔर किसलिए $tहैं?

@ Chinggis6 $gएक सम्मिलित करता है >, और $tएक कमांड विभाजक है।
सुपरोल

@ Superole आह ठीक है, जी और टी से erminate, लेकिन क्यों नहीं उपयोग >और &&अक्षर सीधे उपनाम में?

@ चिंगगिस 6 क्योंकि यह उपनाम बनाने वाली कमांड को तोड़ देगा। तब कमांड-दुभाषिया यह मान लेगा कि आपका मतलब है: पहले doskey quit=doskey /historyलॉगफ़ाइल में मैक्रो निर्माण के आउटपुट को निष्पादित करें और सहेजें (या तो कुछ भी नहीं या एक गलत तरीके से); अगले विंडो बंद करें (सब कुछ त्याग कर)। -मुझे ^लगता है कि आप उन पात्रों से बच सकते हैं । जैसा ^>^>और ^&(... और हाँ, आप केवल एक एम्परसेंड की जरूरत है)
Superole

1
स्पष्ट के बजाय superuser.com/a/302553/333316/kAutoRun
dave_thompson_085

2

मैं साइबरविन का इस्तेमाल करता हूं । यह कुछ अन्य कार्यात्मकता भी प्रदान करता है जो कि लिनक्स के पास है लेकिन विंडोज नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.