Làm cách nào để khởi động PowerShell từ Windows Explorer?


259

Có cách nào để khởi động PowerShell trong một thư mục cụ thể từ Windows Explorer, ví dụ: nhấp chuột phải vào thư mục và có tùy chọn như "Mở PowerShell trong Thư mục này" không?

Thật khó chịu khi phải thay đổi thư mục vào thư mục dự án của tôi lần đầu tiên tôi chạy MSBuild mỗi ngày.


16
[Alt] [F + S + A] để bắt đầu quyền hạn của quản trị viên trong thư mục hiện tại. Đối với Windows 10 ít nhất.
Rosdi Kasim

Câu trả lời:


526

Trong Windows Explorer, chỉ cần đi tới Thanh địa chỉ ở trên cùng (phím tắt: Alt+ Dhoặc Ctrl+ L) và nhập powershellhoặc powershell_isenhấn Enter. Cửa sổ lệnh PowerShell mở với thư mục hiện tại.


3
Khi tôi làm điều này trên Win 7, Windows Explorer sẽ đưa tôi đến một thư mục mà tôi có tên là PowerShell!
Sabuncu

35
Nếu bạn đang dùng Windows 8 trở lên, bạn chỉ cần sử dụng Tệp tích hợp -> "Mở Windows Powershell"
Vivek Maharajh

7
Nó cũng không hoạt động nếu bạn có cấu hình PowerShell đặt thư mục khởi động. Nếu bạn muốn khởi động mà không có hồ sơ, bạn có thể sử dụng "powershell -noprofile", nhưng sau đó bạn sẽ mất bất kỳ cài đặt nào bạn có trong hồ sơ. Luôn luôn có một sự đánh đổi.
grahamesd

9
bất kỳ phím tắt để mở nó như là quản trị viên?
Arsalan Ahmad

3
Thay vì powershell, bạn cũng có thể nhập powershell_ise đẹp hơn vì cuối cùng nó có thể thay đổi kích thước và có một phông chữ phù hợp.
Michael S.

106

Chỉ cần thêm ngược lại như một mẹo, tại dấu nhắc PowerShell bạn có thể làm:

ii .

hoặc là

start .

để mở cửa sổ Windows Explorer trong thư mục hiện tại của bạn.


1
@EBGreen, iicó nghĩa là gì?
Pacerier

5
Chà, tại dấu nhắc powershell, bạn có thể chỉ cần gõ: Get-Command ii sau đó bạn sẽ thấy rằng đó là bí danh cho Invoke-Item.
EBGreen

78

Nếu bạn đang dùng Windows 8 trở lên, bạn chỉ cần sử dụng Tệp tích hợp → "Mở Windows PowerShell".

Hoặc Alt+ Ftheo sau R.


1
Vâng Tôi cũng đã ghim phiên bản "Khởi chạy với tư cách quản trị viên".
Vivek Maharajh

@Andrej, Làm thế nào để bạn làm điều đó?
Pacerier

1
@Pacerier, với nút chuột phải trên mục menu tương ứng (ví dụ: trên "Mở Windows PowerShell").
Andrej

@Andrej, Bằng cách "ghim", bạn có nghĩa là tùy chọn "Thêm vào thanh công cụ truy cập nhanh"?
Pacerier

1
@Pacerier, tôi khá chắc chắn đó là ý anh ấy. Bạn cũng có thể ghim vào thanh tác vụ của bạn. Sau khi mở nó, nhấp chuột phải vào biểu tượng trên thanh tác vụ và ghim nó.
Vivek Maharajh

57

http://www.hanselman.com/blog/Int Giới thiệuPowerShellPromptHere.aspx

Scott Hanselman có một inf thực sự đơn giản sẽ làm điều này cho bạn. Nếu bạn muốn điều chỉnh tập lệnh, thực sự dễ dàng để chỉnh sửa inf cho các tùy chỉnh.


Bạn có thể cung cấp một bản tóm tắt (ví dụ, thối liên kết luôn là một vấn đề)?
Peter Mortensen

Một "inf" (trong bối cảnh này) là gì?
Peter Mortensen

44

Thay thế cho câu trả lời ở trên, yêu cầu bạn nhập lệnh PowerShell ( powershell.exe ) mỗi lần, bạn có thể tạo một mục menu ngữ cảnh giống như với menu ngữ cảnh " Mở cửa sổ lệnh ở đây ".

Có ba khoá đăng ký nơi các lệnh này đi. Mỗi phím điều khiển menu ngữ cảnh của một đối tượng Windows Explorer khác nhau. Người đầu tiên là người bạn hỏi về:

  • HKCR \ Directory \ Background \ shell - Đây là menu ngữ cảnh cho chính cửa sổ Explorer (nghĩa là menu ngữ cảnh được hiển thị khi không có mục nào được chọn, chẳng hạn như khi nhấp chuột phải vào vùng trống của cửa sổ).
  • HKCR \ Directory \ shell - Đây là menu ngữ cảnh của các thư mục trong Windows Explorer.
  • HKCR \ Drive \ shell - Đây là menu ngữ cảnh cho các biểu tượng ổ đĩa trong thư mục gốc của Windows Explorer.

Đối với mỗi khóa đăng ký này, bạn có thể thêm một khóa con sẽ thêm lệnh "Mở cửa sổ PowerShell tại đây" vào menu ngữ cảnh, giống như bạn có menu ngữ cảnh "Mở cửa sổ lệnh ở đây".

Đây là một bản sao của tệp OpenPowerShellHere.reg của tôi , nó đặt lệnh trong menu ngữ cảnh của từng đối tượng Explorer, nền cửa sổ, thư mục và biểu tượng ổ đĩa:

Windows Registry Editor Version 5.00

;
; Add context menu entry to Windows Explorer background
;
[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer folders
;
[HKEY_CLASSES_ROOT\Directory\shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer drive icons
;
[HKEY_CLASSES_ROOT\Drive\shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Drive\shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

Vì vậy, với trình soạn thảo văn bản yêu thích của bạn, hãy mở một tệp mới có tên OpenPowerShellHere.reg . Sao chép văn bản chính xác của mã ở trên, dán nó vào tệp mới và lưu nó. (Tôi đã bao gồm một bản sao của tệp, nhưng tôi không thể biết liệu có thể đính kèm được không.) Nếu bạn muốn loại trừ lệnh khỏi một trong các mục, chỉ cần nhận xét phần thích hợp bằng dấu chấm phẩy. Nhận xét của tôi cho bạn thấy từng phần.

Sau khi bạn lưu tệp, chạy nó bằng cách nhấp đúp vào tệp. Khi nó yêu cầu, nói với nó để tiến hành. Ngay sau khi bạn chạy nó, các mục menu ngữ cảnh sẽ hiển thị!

Đây là menu ngữ cảnh cửa sổ Explorer của tôi. Tôi đã đánh dấu các lệnh console và PowerShell. Như bạn có thể thấy, bạn cũng có thể thêm một mục menu ngữ cảnh để chạy cửa sổ lệnh nâng cao, tức là Chạy với tư cách Quản trị viên .

Mục PowerShell trong menu ngữ cảnh Explorer

Lưu ý : Các mục menu ngữ cảnh được hiển thị theo thứ tự bảng chữ cái, dựa trên các khóa Registry của chúng. Tên khóa cho shell lệnh nâng cao là " runas ", đó là lý do tại sao nó xuất hiện sau mục PowerShell.

Lưu ý : Nếu bạn mở một cửa sổ thám hiểm, bạn có thể cần phải đóng nó và mở lại để thay đổi có hiệu lực.

Lưu ý : Trong Windows 7, công cụ HKCR\Directory\Shellnày không hoạt động nếu bạn sử dụng bộ công cụ ở bên cạnh trình thám hiểm

(ví dụ: Nhấp vào Tài liệu dưới tiêu đề Thư viện)

bạn phải điều hướng bằng cách sử dụng Computer -> C: -> to -> Some -> Target -> Directory


Một vấn đề ở đây là khi tôi mở Cửa sổ PS bằng menu ngữ cảnh này và nhập git help <cmd>, nó sẽ chuyển tệp trợ giúp html trong cửa sổ PS dưới dạng văn bản thuần túy. Khi tôi sử dụng menu bắt đầu, cửa sổ PS đó sẽ mở trình duyệt như mong muốn.
ProfK

@ProfK, tôi không chắc chắn những gì đang diễn ra ở đó, vì tôi không sử dụng 'git', tuy nhiên, cửa sổ PS mở bằng menu ngữ cảnh này là IDENTICS cho cửa sổ PS mở bằng Menu Start, UNLESS you are sử dụng PowerShell ISE khi bạn chạy nó từ Menu Bắt đầu. Nếu đó là trường hợp, bạn có thể thay đổi "powershell.exe" trong tệp đăng ký ở trên thành "powershell_ise.exe". Nếu bạn đang chạy PowerShell thông thường, thì không có gì khác biệt, ngoài thư mục mà chúng bắt đầu. Lệnh Start Menu bắt đầu trong thư mục người dùng của bạn, trong khi menu ngữ cảnh bắt đầu trong thư mục cục bộ.
địa lý

@ProfK, có thể đó là thư mục bắt đầu tạo ra sự khác biệt? Nếu bạn có thứ gì đó trong thư mục người dùng liên quan đến 'git', có thể đó là sự khác biệt. Toàn bộ mục đích của menu ngữ cảnh là mở PS trong thư mục LOCAL, nhưng nếu lệnh 'git' chạy khác nhau dựa trên thư mục bạn đang ở, đó có thể là vấn đề. Sự khác biệt thư mục và sự khác biệt giữa PS và PS ISE là những điều duy nhất tôi có thể nghĩ đến.
địa lý

@geo Cảm ơn tất cả các phản hồi, nhưng tôi thấy rằng việc nhấp đúp vào tệp html trong Explorer đã mở chúng trong Notepad ++. Tôi đã đặt "Mở bằng" mặc định cho Chrome, nhưng tôi cũng đã cài đặt Posh-Git cùng một lúc và bây giờ trợ giúp Git của tôi mở trong Chrome chứ không phải PS. Điều đáng buồn là tôi không biết điều gì đã thay đổi những thứ cố định.
ProfK

1
Tập lệnh PS để thêm dấu nhắc PS nâng cao (loại bỏ dòng HasLUAShield cho không tăng) là @ powershellmagazine.com/2013/06/26/ trên
James Manning


14

Trong Windows 10, cả dấu nhắc lệnh và dấu nhắc powershell đều có thể được tìm thấy qua thanh menu, cho cả người không phải quản trị viên và quản trị viên. Các tùy chọn này sẽ có thư mục được đặt thành thư mục hiện được chọn từ trình thám hiểm.

Đối với phiên bản tiếng Thụy Điển ít nhất, powershell được mở bằng Alt F+I. Đối với một quản trị viên quyền hạn nó Alt F+S+P.

Menu Windows Powershell

Nếu đó không phải là các ký tự chính xác, bạn có thể nhấn và giữ Altphím để xem các ký tự chính xác. sẽ có một nhân vật phủ lên mục menu cho mỗi bước.


2
Đó là [Alt] [F + S + A] cho quyền hạn của quản trị viên trên Windows 10 (phiên bản tiếng Anh)
Rosdi Kasim

6

Tôi chỉ muốn menu ngữ cảnh này hoạt động khi nhấp chuột phảigiữ phím 'Shift', đó là cách trình đơn ngữ cảnh 'Mở lệnh ở đây' hoạt động.

Tuy nhiên, không có giải pháp nào được cung cấp làm điều đó nên tôi phải tự cuộn .regtập tin của mình - sao chép bên dưới, lưu nó dưới dạng power-shell-here-on-shift.regvà nhấp đúp chuột vào nó.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\powershell]
@="Open PowerShell here"
"NoWorkingDirectory"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'"

mở vỏ điện ở đây trong khi giữ shift và nhấn chuột phải


5

Hãy dùng thử PowerShell PowerToy ... Nó thêm một mục menu ngữ cảnh cho Open PowerShell Tại đây .

Hoặc bạn có thể tạo một lối tắt mở PowerShell với thư mục Start In là thư mục Dự án của bạn.


3

Nó thậm chí còn dễ dàng hơn trong Windows 8.1 và Server 2012 R2.

Làm điều này một lần: Nhấp chuột phải vào thanh tác vụ, chọn Thuộc tính. Trong tab Navigation, bật [✓] Thay thế Command Prompt với Windows PowerShell trong menu khi tôi kích chuột phải vào góc dưới bên trái hoặc nhấn phím Windows + X .

Sau đó, bất cứ khi nào bạn muốn một dấu nhắc PowerShell, hãy nhấn Win+X, I. (Hoặc Win+X, Ađối với lời nhắc của Quản trị viên PowerShell)


4
Phím tắt đẹp, tuy nhiên điều này không khởi động PowerShell trong thư mục hiện tại.
steenhulthin

3

Sau đây là tổng hợp ngắn gọn (và cập nhật) các giải pháp trước đó. Đây là những gì để làm:

Thêm các chuỗi này và các khóa cha tương ứng của chúng:

pwrshell\(Default) < Open PowerShell Here
pwrshell\command\(Default) < powershell -NoExit -Command Set-Location -LiteralPath '%V'
pwrshelladmin\(Default) < Open PowerShell (Admin)
pwrshelladmin\command\(Default) < powershell -Command Start-Process -verb runAs -ArgumentList '-NoExit','cd','%V' powershell

tại những địa điểm này

HKCR\Directory\shell (for folders)
HKCR\Directory\Background\shell (Explorer window)
HKCR\Drive\shell (for root drives)

Đó là nó. Thêm chuỗi "Mở rộng" cho các lệnh chỉ hiển thị nếu bạn giữ phím "Shift", mọi thứ khác đều không cần thiết.


3

Có một phần mở rộng Windows Explorer được tạo bởi anh chàng tạo ra các công cụ cho SVN, ít nhất sẽ mở một cửa sổ nhắc lệnh.

Tôi chưa thử nó, vì vậy tôi không biết liệu nó có làm PowerShell không, nhưng tôi muốn chia sẻ tình yêu với anh em Stack Overflow của mình:

http://tools.tortoisesvn.net/StExBar


2

Một tùy chọn khác là PowerToys Độ cao tuyệt vời của Michael Murgolo trên TechNet tại http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Chúng bao gồm PowerShell Prompt Here và PowerShell Prompt Here với tư cách Quản trị viên.


Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
Lundin

Đó là một điểm hợp lệ để xem xét khi đăng một liên kết; tuy nhiên, bài viết được liên kết có chứa phần tải xuống có thẩm quyền cho Elevation PowerToys, đây phần thiết yếu của câu trả lời.
Mark Larson

2

Bằng cách thêm các khóa đăng ký bên dưới, trong Windows 10, tôi đã quản lý để có tùy chọn Open PowerShell Here trong SHIFT + RClickcác menu ngữ cảnh của mình . Chỉ cần sao chép chúng vào một tập tin notepad trống sau đó lưu thành .regtập tin và chạy tập tin để thêm khóa và nó sẽ hoạt động từ đó. Một số câu trả lời khác nói rằng thêm khóa vào HKCR \ Directory \ shell nhưng tôi thấy rằng đối với tôi, nó chỉ hoạt động với các khóa đi vào HKLM \ SOFTWARE \ Classes \ Directory \ shell

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\powershell]
"Extended"=""
"NoWorkingDirectory"=""
@="Open PowerShell here"
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\powershell]
@="Open PowerShell here"
"Extended"=""
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
"NoWorkingDirectory"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

1
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
if(-not (Test-Path -Path "HKCR:\Directory\shell\$KeyName"))
{
    Try
    {
        New-Item -itemType String "HKCR:\Directory\shell\$KeyName" -value "Open PowerShell in this Folder" -ErrorAction Stop
        New-Item -itemType String "HKCR:\Directory\shell\$KeyName\command" -value "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location '%V'" -ErrorAction Stop
        Write-Host "Successfully!"
     }
     Catch
     {
         Write-Error $_.Exception.Message
     }
}
else
{
    Write-Warning "The specified key name already exists. Type another name and try again."
}

Bạn có thể tải xuống tập lệnh chi tiết từ cách khởi động PowerShell từ Windows Explorer


1

Một cách khác khá đơn giản là gọi PowerShell thông qua phím tắt. Có một thuộc tính phím tắt có nhãn "Bắt đầu trong" cho biết thư mục (thư mục) nào sẽ được sử dụng khi lối tắt được gọi.

Nếu hộp Bắt đầu trống, có nghĩa là sử dụng thư mục hiện tại.

Khi bạn lần đầu tiên tạo một lối tắt đến PowerShell theo cách thông thường, hộp start in chỉ định thư mục chính. Nếu bạn bỏ trống hộp bắt đầu, bây giờ bạn có một lối tắt đến powershell mở PS trong thư mục hiện tại, bất kể đó là gì.

Nếu bây giờ bạn sao chép lối tắt này vào thư mục đích và sử dụng trình thám hiểm để gọi nó, bạn sẽ bắt đầu một PS được trỏ vào thư mục đích.

Đã có một câu trả lời được chấp nhận cho câu hỏi này, nhưng tôi đưa ra đây là một cách khác.


1

Đối với người dùng autohotkey, đây là đoạn trích tôi đang sử dụng

Nó mở cửa sổ PowerShell, khi nhấn Ctrl-Alt-T. (Đã thử nghiệm với Win10)

Nếu "cửa sổ hoạt động" của bạn là Windows Explorer, thì PowerShell sẽ được mở trong thư mục hiện tại . Nếu không, chỉ cần mở PowerShell trong một số thư mục mặc định .

Cách sử dụng: 1) Cài đặt AutoHotkey và sao chép dán vào myscript.ahk 2) Thay thế <DefaultPath>bằng đường dẫn bạn chọn. 3) Chạy tập lệnh.

; Ctrl-Alt-T opens PowerShell in the current folder, if using Windows Explorer. Otherwise, just open the Powershell.
^!T::
if WinActive("ahk_class CabinetWClass") and WinActive("ahk_exe explorer.exe")
{
    KeyWait Control
    KeyWait Alt
    Send {Ctrl down}l{Ctrl up}
    Send powershell{Enter}
}
else
{
    psScript =
    (
    cd 'C:\<DefaultPath>'
    ls
    )
    Run "%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" -NoExit -Command &{%psScript%}
}
return

1

Tôi ngạc nhiên không ai đưa ra câu trả lời này, đó là câu trả lời đơn giản nhất. (Phải là năm.)

Chỉ cần Shift + nhấp chuột phải trong Explorer. Sau đó, bạn có thể "Mở cửa sổ PowerShell tại đây".

Nó có thể được đặt thành Command Prompt theo mặc định. Nếu vậy, bạn có thể thay đổi điều này trong Cài đặt Windows 10: đi tới Cá nhân hóa -> Thanh tác vụ và bật "Thay thế Dấu nhắc bằng Windows PowerShell trong menu khi tôi nhấp chuột phải vào nút bắt đầu hoặc nhấn phím Windows + X".


1

Windows 10 làm cho nó dễ dàng hơn nhiều. Bạn có thể:

  • [SHIFT] + [Nhấp chuột phải] vào thư mục và bạn nhận được một mục menu Open PowerShell window here.

Hoặc bạn có thể:

  • File-> Open Windows PowerShell.

Và để nhận tiền thưởng ...

Nếu bạn nhấp chuột phải vào File-> Open Windows PowerShell, thì bạn có thể Add to Quick Access Toolbar:

nhập mô tả hình ảnh ở đây

Mà đặt một biểu tượng tiện dụng ở đây:

nhập mô tả hình ảnh ở đây

Và bây giờ bạn có thể chỉ cần nhấp vào biểu tượ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.