ฉันใช้Console 2และฉันต้องการสร้างนามแฝงบางคำสั่งที่ใช้บ่อย บางที google-fu ของฉันก็แค่ดูดวันนี้ แต่ฉันไม่สามารถหาวิธีการทำ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมขอบคุณ
ฉันใช้Console 2และฉันต้องการสร้างนามแฝงบางคำสั่งที่ใช้บ่อย บางที google-fu ของฉันก็แค่ดูดวันนี้ แต่ฉันไม่สามารถหาวิธีการทำ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมขอบคุณ
คำตอบ:
Console2 เป็นเพียง wrapper รอบ ๆ หน้าต่างคอนโซล Win32 ที่ซ่อนอยู่และไม่มีฟังก์ชันการแก้ไขบรรทัดเพิ่มเติม
คุณสามารถสร้างนามแฝงในคอนโซล Win32
doskey d=dir $*
ไม่เหมือนกับยูนิกซ์sh
คุณต้องระบุอย่างชัดเจน$*
เพื่อต่อท้ายอาร์กิวเมนต์ที่กำหนด (เช่นd C:\
) คุณยังสามารถใช้$T
เพื่อแยกคำสั่ง
นอกจากนี้ยังแตกต่างจากระบบปฏิบัติการยูนิกซ์นามแฝงจะดำเนินการในระดับคอนโซล Win32 , ไม่ได้ใน Console2 หรือเปลือก cmd.exe นี่ก็หมายความว่าคุณสามารถใช้มันในโปรแกรมใดก็ได้ที่อ่านอินพุตแบบอินเทอร์แอคทีฟ (ตัวอย่างเช่นdoskey /exename=python.exe h=help($*)
จะแปลh sys
เป็นhelp(sys)
)
ในการโหลดนามแฝงโดยอัตโนมัติสำหรับ cmd.exe (พร้อมรับคำสั่ง):
สร้างแบทช์สคริปต์ (ตัวอย่าง%APPDATA%\autorun.cmd
) ด้วยdoskey
คำสั่ง ตัวอย่าง:
@doskey d=dir $*
ตัวอย่างการอ่านนามแฝงหลายไฟล์จากไฟล์:
@doskey /macrofile=%APPDATA%\cmd.aliases
ตั้งHKCU\SOFTWARE\Microsoft\Command Processor
ค่าAutoRun
เป็นเส้นทางของสคริปต์ "การทำงานอัตโนมัติ" ของคุณ:
C:\> reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%APPDATA%\autorun.cmd"
แม้ว่าคำถามนี้มีอายุเกินหนึ่งปีและตอบแล้ววิธีแก้ปัญหาต่อไปนี้ง่ายกว่าและหลีกเลี่ยงการแก้ไขรีจิสทรี:
ใน Console2 ไปที่แก้ไข> การตั้งค่า เปลี่ยนฟิลด์ "Shell:" เป็นสิ่งต่อไปนี้:
C:\Windows\system32\cmd.exe /K "C:\Path\to\aliases.cmd"
ตอนนี้รีสตาร์ท Console2 และคุณทำเสร็จแล้ว
หากต้องการช่วยคุณประหยัดเวลานี่เป็นตัวอย่างง่ายๆของไฟล์ aliases.cmd:
@echo off
DOSKEY clear=cls
DOSKEY ls=dir
DOSKEY ex=explorer .
DOSKEY ll=dir /A
DOSKEY rm=del $*