ชื่อแทนทุบตีเทียบเท่ากับ PowerShell?


11

โดยค่าเริ่มต้น Windows PowerShell ของฉันจะเริ่มต้นในC:\Users\Santoshการติดตั้ง XAMPP ของฉันอยู่ในD:\ดังนั้นโฟลเดอร์ htdocs D:\xampp\htdocsตั้งอยู่ที่ หากฉันต้องแก้ไขบางอย่างในโฟลเดอร์ htdocs ฉันต้องพิมพ์แบบเต็มcd D:\xampp\htdocs\ (การเติมข้อความอัตโนมัตินั้นไม่ใจดี)แล้วแก้ไขไฟล์นั้น

หาก PowerShell นี้เป็น Bash ฉันจะทำเช่นนี้ในไฟล์. bash_aliases:

alias htdocs='cd D:\xampp\htdocs'

เป็นไปได้ไหมที่จะรักษานามแฝงของ Bash เช่นไฟล์และนามแฝงคำสั่งใด ๆ ใน PowerShell

คำตอบ:


12

คุณต้องการให้set-alias commmand ทำงานร่วมกันด้วยสคริปต์ powershell หรือฟังก์ชัน ดังนั้นเปิดตัวแก้ไขและเขียน:

set-location d:\xampp\htdocs

และบันทึกไฟล์นี้เช่นc: \ Users \ kumar \ htdocs32.ps1หรือคุณสามารถสร้างฟังก์ชั่นเช่นนี้

function htdocs32 { set-location d:\xampp\htdocs }

ในการเรียกใช้งานสคริปต์คุณต้องตั้งค่านโยบายการดำเนินการเพื่อให้สามารถใช้งานสคริปต์ได้ เปิดบรรทัดคำสั่ง powershell ในฐานะผู้ดูแลระบบและพิมพ์:

set-executionpolicy remotesigned

ตอนนี้คุณสามารถตั้งค่านามแฝงสำหรับสคริปต์ powershell:

set-alias htdocs c:\Users\kumar\htdocs32.ps1

และพิมพ์ htdocs ตอนนี้จะนำคุณเข้าสู่โฟลเดอร์ htdocs ของคุณ

Powershell กำลังใช้ชุดคำกริยาคำนามสำหรับการตั้งชื่อของ cmdlets ที่เรียกว่า คำกริยาหมายถึงสิ่งที่คุณต้องการทำและคำนามกับสิ่งที่คุณต้องการทำบางสิ่ง

เพื่อรับความช่วยเหลือสำหรับคำสั่ง set-alias ที่คุณต้องการใช้:

get-help set-alias -full  |more 

และไม่น้อย วิธีอื่นจะอ่านhttp://technet.microsoft.com/en-us/library/ee176958.aspxนี้

นอกจากนี้เพื่อเริ่มต้นด้วย power shell ฉันขอแนะนำให้คุณดู url นี้: http://www.powershellpro.com/powershell-tutorial-introduction/

ในการบันทึกนามแฝงอย่างถาวรคุณต้องบันทึกไว้ในโปรไฟล์ผู้ใช้ของคุณ ทดสอบครั้งแรกว่ามีการใช้งานโปรไฟล์อยู่หรือไม่:

PS C:\> $profile

หากคุณได้รับเท็จคุณสามารถสร้างโปรไฟล์ใหม่โดยพิมพ์:

 New-Item -path $profile -type file -force

ตอนนี้คุณสามารถแก้ไขไฟล์

c:\Users\kumar\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

และใส่ฟังก์ชั่นการกำหนดและนามแฝง ตามที่อธิบายไว้ข้างต้น

อย่างไรก็ตามการตั้งค่านามแฝงสำหรับสิ่งนี้ใน linux นั้นไม่จำเป็น sicne มี environmentPariable $ CDPATH สำหรับ bash ซึ่งสามารถตั้งค่าเป็น ~ / .bahsrc


มีไฟล์ที่เก็บชื่อแทนเหล่านี้หรือไม่? มันจะเป็นประโยชน์อย่างมากหากฉันสำรองข้อมูล
Santosh Kumar

เริ่มต้นCannot resolve alias 'htdocs' because it refers to term 'cd D:\xampp\htdocs', which is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.ทำset-alias htdocs "cd D:\xampp\htdocs"
Santosh Kumar

ตกลงคุณควรเขียน ckdlet ดีกว่า เปิด texteditor และ write: set-locaation c: \ xampp \ htdocs และบันทึกไฟล์นี้เป็น htdocs32.ps1 สมมติว่า htdocs32.ps1 ถูกบันทึกใน c: \ Users \ kumar \ htdocs32.ps1 คุณสามารถใช้ set-alias htdocs c: \ Users \ kumars \ htdocs32.ps1 ตรวจสอบให้แน่ใจว่าคุณได้กำหนดนโยบายการปฏิบัติให้เป็นจริง
l1zard

@SantoshKumar โซลูชันของคุณต้องมีการตั้งค่าสถานะ '/ d' เพื่อเปลี่ยน DRIVE จากนั้นไดเรกทอรี || "cd / d D: \ xampp \ htdocs"
Eddie B

2

ที่จริงคุณสามารถลองสิ่งนี้มันจะสร้างโมดูลที่โหลดโดยอัตโนมัติ

ภายใต้ C: \ Users \ kumar \ Documents \ WindowsPowerShell \

สร้างโมดูลโฟลเดอร์ใหม่ถ้าไม่มีอยู่

PS C:\>mkdir Modules

ภายใต้โมดูลสร้างการเรียกโฟลเดอร์เช่น: "Quicky"

PS C:\>mkdir Quicky

สร้างไฟล์ชื่อ "quicky.psm1", .psm1 เป็นส่วนเสริมสำหรับ Modules

แก้ไขไฟล์และเพิ่มบรรทัดนั้น

function htdocs32 { set-location d:\xampp\htdocs }

บันทึกโมดูล

จากนั้นเรียกใช้ฟังก์ชัน "htdocs32"

PS C:\>htdocs32

0

หากคุณมีนโยบายการดำเนินการสคริปต์ PowerShell ที่ไม่ จำกัด เกินไปคุณสามารถเพียงสคริปต์ที่จะทำ จำไว้ว่าไม่เหมือน BASH สคริปต์ Windows สามารถส่งผลต่อเชลล์ของคุณหลังจากเสร็จสิ้นดังนั้นคุณไม่จำเป็นต้องใช้ฟังก์ชัน alias หรือ bash ที่เทียบเท่า

htdocs.ps1 (ใส่ที่ใดที่หนึ่งบนเส้นทางของคุณฉันจะไปกับcdhtdocs.ps1ด้วยตัวเอง แต่เป็นแบบแผนการตั้งชื่อของคุณ)

chdir "d:\xampp\htdocs"

หมายเหตุ: สิ่งนี้จะทำงานเพื่อเปลี่ยนไดรฟ์ตามที่ต้องการด้วย เช่นจะใช้งานได้หากคุณอยู่ในc: \ temp \เพื่อเริ่มต้น

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