วิธีการแทนที่นามแฝงเริ่มต้นใน Powershell ได้อย่างไร


19

ฉันอยากเห็นชื่อไฟล์สีเมื่อฉันพิมพ์ dir ใน Powershell ดังนั้นฉันจึงเพิ่มฟังก์ชันSet-ChildItemColorจากที่นี่ไปยังไฟล์โปรไฟล์ของฉัน ฉันยังเพิ่มบรรทัดนี้ในตอนท้ายของไฟล์โปรไฟล์เพื่อแทนที่นามแฝงของ dir:

Set-Alias dir Get-ChildItemColor

ตอนนี้เมื่อฉันเปิด Powershell ฉันได้รับข้อผิดพลาดนี้:

Set-Alias : The AllScope option cannot be removed from the alias 'dir'.
At C:\Users\joe\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:82
char:10
+ Set-Alias <<<<  dir Get-ChildItemColor
    + CategoryInfo          : WriteError: (dir:String) [Set-Alias], SessionStateUna
   uthorizedAccessException
    + FullyQualifiedErrorId : AliasAllScopeOptionCannotBeRemoved,Microsoft.PowerShe
   ll.Commands.SetAliasCommand

AllScopeนี้คืออะไร ฉันจะลบตัวเลือกนั้นเพื่อรับ colorized dir ได้อย่างไร


ไม่แน่ใจว่าทำไมปิดนี้ฉันมีสิ่งนี้ ("ตัวเลือก AllScope ไม่สามารถลบออกได้") และคำตอบด้านล่างแก้ปัญหาของฉันได้
John Fouhy

คำตอบ:


24

ใช้พารามิเตอร์ -Option ของ Set-Alias

Set-Alias -Name dir -Value Set-ChildItemColor -Option AllScope

ดูที่ Get-Help Set-Alias ​​และ Get-Help about_Scope สำหรับรายละเอียด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.