Tôi có thể đặt PowerShell làm 'mặc định' trong Windows 7 không?


9

Theo mặc định, tôi muốn PowerShell được khởi chạy thay vì Command khi, giả sử, chạy một tệp bó hoặc khi tôi "Mở cửa sổ lệnh ở đây", v.v.

Bất kỳ đề xuất?


5
Tôi không nghĩ powershell có thể diễn giải các tệp bó, vì vậy có lẽ bạn không nên mở tệp đó.
nheo

Câu trả lời:


9

Tôi vừa thực hiện một thử nghiệm rất nhanh và mục đăng ký sau sẽ thêm một mục "PowerShell here" vào menu ngữ cảnh của tất cả các thư mục trong 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\\\"\""

Chỉ cần nhập nó vào sổ đăng ký. Tôi đang sử dụng cmd.exeđể bootstrap powershell để tránh phải mã hóa đường dẫn.

Về tập lệnh cmd / tập tin bó. Tôi nghĩ rằng mặc định chạy các tập lệnh CMD trong PowerShell không có ý nghĩa gì. Nhưng nó cũng có thể là có thể bằng cách sửa đổi HKCR\cmdfile\shell\openkhoá đăng ký


Cảm ơn! Tôi sẽ thử những thứ này tối nay. Lý do duy nhất tôi muốn các tập lệnh mở trong powershell là vì tính nhất quán và hợp tác với các công cụ cửa sổ của tôi. Bạn đúng rằng không có lý do thực tế cố hữu. ;)
Ipsquiggle

0

Bạn sẽ không đi được rất xa với việc chạy các tệp bó CMD trong PowerShell.

Bạn có thể thử thay đổi %COMSPEC%biến để powershell.exesử dụng setx, nhưng tôi không nghĩ bạn sẽ mất nhiều thời gian để nhận ra rằng đây là một ý tưởng thực sự tồi tệ và thay đổi lại.

lưu tệp dưới dạng * .ps1 thay vì * .bat và nó sẽ sử dụng powershell


1
Tại sao nó là một ý tưởng tồi? Chỉ tò mò thôi.
afrazier

@afrazier: Tôi chưa thử nghiệm thay đổi %COMSPEC%sang trình bao không tương thích với CMD, nhưng tôi cho rằng việc thay đổi nó thành PowerShell sẽ dẫn đến .cmd/ .batcác tệp cố gắng thực thi trong PowerShell, vì vậy chúng sẽ thất bại. Tôi đã cài đặt rất nhiều phần mềm cần thiết để sử dụng các tệp bó, vì vậy làm điều đó sẽ là một ý tưởng tồi. Ngoài ra, tôi hơi thiên vị, vì tôi luôn sử dụng CMD (thực ra, TCC, là một siêu bộ mở rộng), để quản lý tệp hàng ngày - tôi chỉ sử dụng PowerShell cho công cụ hệ thống, mặc dù tôi có nhiều thứ để tìm hiểu hơn, như nó rất mạnh để so sánh
paradroid

1
Chỉ để cười khúc khích, tôi đã thay đổi %ComSpec%để trỏ đến PowerShell trên hệ thống Win7 của mình. Các .cmdtập tin cặp đôi đầu tiên tôi đã thử nghiệm hoạt động tốt. Chúng liên quan đến cmdcác cấu trúc đặc thù ( for, Thao tác biến, if), vì vậy PS rõ ràng đủ thông minh để biết khi nào cần gọi cmd.exe.
afrazier

Ví dụ, việc thay đổi %ComSpec%thành powershell sẽ phá vỡ các lệnh điều khiển phiên bản đồng bóng.
Hy vọng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.