ฉันสามารถตั้งค่า PowerShell เป็น 'ค่าเริ่มต้น' ใน Windows 7 ได้หรือไม่


9

ตามค่าเริ่มต้นฉันต้องการให้ PowerShell ถูกเรียกใช้แทนคำสั่งเมื่อพูดใช้งานแบตช์ไฟล์หรือเมื่อฉัน "เปิดหน้าต่างคำสั่งที่นี่" เป็นต้น

ข้อเสนอแนะใด ๆ


5
ฉันไม่คิดว่า powershell สามารถตีความไฟล์แบทช์ดังนั้นคุณอาจไม่ควรเปิดไฟล์เหล่านั้น
nhinkle

คำตอบ:


9

ฉันเพิ่งทดสอบอย่างรวดเร็วและรายการรีจิสทรีต่อไปนี้จะเพิ่มรายการ "PowerShell here" ไปที่เมนูบริบทของโฟลเดอร์ทั้งหมดใน explorer:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""

เพียงนำเข้าสู่รีจิสทรี ฉันใช้cmd.exeเพื่อ bootstrap powershell เพื่อหลีกเลี่ยงการยากรหัสเส้นทาง

เกี่ยวกับสคริปต์ cmd / ไฟล์แบทช์ ฉันคิดว่ามันไม่สมเหตุสมผลเลยที่จะเรียกใช้สคริปต์ CMD ภายใน PowerShell ตามค่าเริ่มต้น แต่อาจเป็นไปได้เช่นกันโดยการปรับเปลี่ยนHKCR\cmdfile\shell\openรีจิสทรีคีย์


ขอบคุณ! ฉันจะลองพวกนี้คืนนี้ เหตุผลเดียวที่ฉันต้องการสคริปต์ที่จะเปิดใน PowerShell เพื่อความสอดคล้องและความร่วมมือกับเครื่องมือหน้าต่างของฉัน คุณพูดถูกที่ไม่มีเหตุผลเชิงปฏิบัติโดยธรรมชาติ ;)
Ipsquiggle

0

คุณจะไม่ไปไกลกับการเรียกใช้ชุดไฟล์ CMD ใน PowerShell

คุณสามารถลองเปลี่ยน%COMSPEC%ตัวแปรให้ชี้ไปที่การpowershell.exeใช้setxงานได้ แต่ฉันไม่คิดว่ามันจะใช้เวลานานกว่าคุณจะรู้ว่านี่เป็นความคิดที่แย่จริงๆและเปลี่ยนมันกลับมาอีกครั้ง

บันทึกไฟล์เป็น * .ps1 แทน * .bat และจะใช้ powershell


1
เหตุใดจึงเป็นความคิดที่ไม่ดี แค่สงสัย.
afrazier

@afrazier: ฉันไม่ได้ทดลองเปลี่ยน%COMSPEC%เป็นเชลล์ที่ไม่รองรับ CMD แต่ฉันคิดว่าการเปลี่ยนเป็น PowerShell จะส่งผลให้.cmd/ .batไฟล์พยายามเรียกใช้ใน PowerShell ดังนั้นพวกเขาจะล้มเหลว ฉันติดตั้งซอฟต์แวร์จำนวนมากซึ่งจำเป็นต้องใช้ไฟล์แบตช์ดังนั้นการทำเช่นนั้นจะเป็นความคิดที่ไม่ดี นอกจากนี้ฉันลำเอียงเล็กน้อยเพราะฉันใช้ CMD ตลอดเวลา (ที่จริงแล้ว TCC ซึ่งเป็น superset ที่ขยาย) สำหรับการจัดการไฟล์ทุกวัน - ฉันใช้ PowerShell สำหรับเนื้อหาระบบเท่านั้นแม้ว่าฉันจะมีอะไรมากกว่าที่จะเรียนรู้เช่น มันทรงพลังมากเมื่อเปรียบเทียบ
Paradroid

1
เพียงแค่หัวเราะคิกคักฉันได้เปลี่ยน%ComSpec%เป็นชี้ไปที่ PowerShell ในระบบ Win7 ของฉัน .cmdไฟล์คู่แรกที่ฉันทดสอบทำงานได้ดี พวกเขาเกี่ยวข้องกับcmdโครงสร้าง -specific ( forการจัดการตัวแปรif) ดังนั้น PS cmd.exeเห็นได้ชัดคือฉลาดพอที่จะรู้ว่าเมื่อมันต้องการที่จะก่อให้เกิด
afrazier

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