2012-03-03 19 views
9

मुझे पता है कि एक समय में एक खास बिंदु पर आदेश इतिहास को बचाने के लिएक्या bash's bash_history के समान cmd.exe में फ़ाइल में कमांड इतिहास को स्वचालित रूप से सहेजने का कोई तरीका है?

doskey /history 

कर सकते हैं, लेकिन मुझे आश्चर्य है कि वहाँ एक रास्ता सक्रियता से एक फाइल करने के लिए आदेश इतिहास को बचाने के लिए अगर, के रूप में आदेशों जारी किए जाते हैं ।

एक बार कमांड प्रॉम्प्ट बंद हो जाने के बाद, इतिहास खो जाता है, इसलिए जब कोई किया जाता है तो गलती से कमांड प्रॉम्प्ट बंद करना आसान होता है।

log Commands.log 

और फिर मेरा आदेश जारी, और आदेश Commands.log को बचाया जा है:

मैं चाहूँगा की तरह कुछ कहने के लिए सक्षम होने के लिए।

उत्तर

6

आप इस प्रकार, बाहर निकलें आदेश को पुन: मैप करने के लिए एक doskey मैक्रो बना सकते हैं: प्रत्येक: "\ अस्थायी \ commands.log ग"

doskey exit=doskey/history$g$gc:\temp\commands.log$texit $1 $2 

इस नाम की एक फ़ाइल में अपने आदेश इतिहास की सामग्री को संलग्न करेंगे जब आप "बाहर निकलें" टाइप करके प्रॉम्प्ट से बाहर निकलेंगे।

चेतावनी: मैं बाहर निकलें के "/ बी exitCode" पैरामीटर के साथ इस का उपयोग कर के संभावित दुष्प्रभावों का परीक्षण नहीं किया है, लेकिन वहाँ किसी भी नहीं होना चाहिए, क्योंकि आप "$ 1 $ 2" के साथ मानकों वैसे भी कब्जा कर रहे हैं।

यह वही नहीं करता जो आप खोज रहे हैं, लेकिन जब तक आप EXIT (बनाम विंडो को बंद कर रहे हैं) का उपयोग करके बाहर निकलें, तब तक यह आपके कमांड इतिहास को कैप्चर करता है।

अधिक जानकारी और DOSKEY मैक्रो पर नमूने यहां हैं: http://technet.microsoft.com/en-us/library/bb490894.aspx

+0

आदेश में अच्छी तरह से काम करता है, लेकिन आप एक निर्देशिका है कि पहले से मौजूद है निर्दिष्ट करने के लिए है - यह आप के लिए निर्देशिका नहीं बनाएगा। जो मैं बता सकता हूं वह यह है कि यह मैक्रो केवल वर्तमान डॉस सत्र के दौरान रहता है। इसलिए जब भी आप कमांड प्रॉम्प्ट खोलते हैं तो आपको इसे टाइप करना होगा। – icc97

+1

यदि आप निम्न लक्ष्य के साथ शॉर्टकट बनाते हैं: '% windir% \ system32 \ cmd.exe/k doskey exit = doskey/history $ g $ g% USERPROFILE% \ command.log $ texit $ 1 $ 2' यह ए) यूनिक्स का पालन करता है इसे अपने घर निर्देशिका में सहेजने की अवधारणा, बी) जब आप इस शॉर्ट कट को चलाते हैं तो यह आदेश चलाया जाता है ताकि आपको इसे हर बार टाइप न करना पड़े – icc97