มีวิธีเก็บประวัติคำสั่ง cmd ระหว่างเซสชันหรือไม่?
มีวิธีเก็บประวัติคำสั่ง cmd ระหว่างเซสชันหรือไม่?
คำตอบ:
สลับไปใช้ PowerShell และทำตามคำแนะนำที่ไซต์ต่อไปนี้เพื่อเปิดใช้งานประวัติ:
อีกวิธีหนึ่งใน cmd.exe คุณสามารถใช้ "doskey / history" ที่ส่วนท้ายของเซสชันเพื่อแสดงสิ่งที่คุณพิมพ์ในเซสชันนั้น แต่ไม่มีวิธีใดที่จะโหลดลงในเซสชันถัดไป
ฉันพบวิธีการสองวิธีไม่ต้องการเปลี่ยนเป็น PowerShell
ติดตั้งClinkซึ่งปรับปรุงcmd.exe
ด้วยประวัติที่ถาวรและอีกมากมาย เพียงติดตั้งแล้วเปิดcmd
ตามปกติ
ติดตั้งทีซีซี / LEcmd.exe
รุ่นฟรีซึ่งเป็นโปรแกรมที่แยกจากกันอีกครั้งให้เป็นรุ่นที่เพิ่มขึ้นของ
cmd.exe
แต่เป็นคำตอบที่ดีและเสียงกริ๊กก็รองรับโหมดการฉีดเช่นกัน
cmd
ด้วยมันไม่มีปัญหามีความสุขมากกับมัน
การบันทึกประวัติเป็นกระบวนการทำงานขนาดเล็ก - นี่เป็นวิธี "หนัก" น้อยกว่าในการทำเช่นนี้ (ไม่มี libs ภายนอก)
สร้างไฟล์ bat / 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
จากนั้นเรียกใช้จาก "Start-> Run" (คุณสามารถตั้งค่านามแฝงสำหรับสิ่งนี้ได้เช่นกัน):
cmd.exe /K C:\MyEnvironment.cmd
ทุกครั้งที่ฉันปิดเซสชันฉันกดปุ่ม "ออก" - หรือถ้าฉันกลัวที่จะสูญเสียช่วงกลางประวัติศาสตร์ฉันจะกด "บันทึก" ถ้าฉันต้องการ grep สำหรับบางอย่างในประวัติศาสตร์ฉันแค่กดปุ่ม "history KEYWORD"
ตามความคิดเห็นของ @dave_thompson_085 AutoRun
คุณลักษณะนี้จะทำงานได้ดีหากคุณไม่ต้องการใช้/K
สวิตช์ หากคุณตั้งค่าคีย์รีจิสทรีอย่างถูกต้อง.cmd
หรือ.bat
ไม่จำเป็นต้องอยู่%AppData%
ก็อาจอยู่ในตำแหน่งเดียวกับที่มันมีอยู่แล้ว
หากคุณใช้%AppData%
ตำแหน่งโปรดทราบว่า cmd อาจจะมองหาไฟล์แบทช์ของคุณในโฟลเดอร์ "Roaming" (แทนที่จะเป็นรูทของ AppData)
ข้อมูลเพิ่มเติมเกี่ยวกับAutoRun
คุณสมบัติ CMD: https://superuser.com/a/302553/333316
$g
แทรก a >
และ$t
เป็นตัวคั่นคำสั่ง
doskey quit=doskey /history
และบันทึกผลลัพธ์ของการสร้างแมโครใน logfile (ไม่ว่าอะไรหรือข้อผิดพลาด) ปิดหน้าต่างถัดไป (ทิ้งทุกอย่าง) - คุณสามารถหลบหนีตัวละครเหล่านั้นด้วยความ^
คิดแทน ชอบ^>^>
และ^&
( ... และใช่คุณต้องการเพียงหนึ่งเครื่องหมาย)