Bagaimana cara memulai PowerShell dari Windows Explorer?

259

Apakah ada cara untuk memulai PowerShell di folder tertentu dari Windows Explorer, misalnya untuk mengklik kanan di folder dan memiliki opsi seperti "Buka PowerShell di Folder ini"?

Sangat menyebalkan harus mengubah direktori ke folder proyek saya saat pertama kali saya menjalankan MSBuild setiap hari.

Josh Kodroff
sumber
16
[Alt] [F + S + A] untuk memulai kekuatan administrator di folder saat ini. Setidaknya untuk Windows 10.
Rosdi Kasim
Ini jawabannya: channel9.msdn.com/Shows/Defrag-Tools/…
HelpingHand

Jawaban:

526

Di Windows Explorer, cukup buka Bilah Alamat di bagian atas (pintasan keyboard: Alt+ Datau Ctrl+ L) dan ketik powershellatau powershell_isedan tekan Enter. Jendela perintah PowerShell terbuka dengan direktori saat ini.

Ashwin Nanjappa
sumber
3
Ketika saya melakukan ini pada Win 7, Windows Explorer membawa saya ke folder yang saya miliki bernama PowerShell!
Sabuncu
35
Jika Anda menggunakan Windows 8, atau lebih baru, Anda cukup menggunakan File
bawaan
7
Ini juga tidak berfungsi jika Anda memiliki profil PowerShell yang menetapkan direktori startup. Jika Anda ingin memulai tanpa profil, Anda dapat menggunakan "powershell -noprofile", tetapi kemudian Anda kehilangan pengaturan apa pun yang Anda miliki di profil. Selalu ada trade off.
grahamesd
9
ada jalan pintas untuk membukanya sebagai administrator?
Arsalan Ahmad
3
Alih-alih powershell Anda juga bisa mengetikkan powershell_ise yang lebih bagus karena akhirnya dapat diubah ukurannya dan memiliki font yang tepat.
Michael S.
106

Untuk menambahkan sebaliknya sebagai trik, pada prompt PowerShell Anda dapat melakukannya:

ii .

atau

start .

untuk membuka jendela Windows Explorer di direktori Anda saat ini.

EBGreen
sumber
1
@EBGreen, Apa iiartinya?
Pacerier
5
Nah, pada prompt powershell Anda cukup mengetik: Get-Command ii maka Anda akan melihat bahwa itu adalah alias untuk Invoke-Item.
EBGreen
79

Jika Anda menggunakan Windows 8, atau lebih baru, Anda cukup menggunakan File bawaan → "Open Windows PowerShell".

Atau Alt+ Fdiikuti oleh R.

Vivek Maharajh
sumber
1
Ya. Saya juga menyematkan versi "Luncurkan sebagai admin".
Vivek Maharajh
@ Andrej, Bagaimana kamu melakukannya?
Pacerier
1
@Pacerier, dengan tombol kanan mouse pada item menu yang sesuai (misalnya, pada "Buka Windows PowerShell").
Andrej
@Andrej, Dengan "menyematkan", Apakah maksud Anda opsi "Tambahkan ke Bilah Alat Akses Cepat"?
Pacerier
1
@Pacerier, saya cukup yakin itulah yang dia maksud. Anda juga dapat menyematkan ke bilah tugas. Setelah membukanya, klik kanan pada ikon di taskbar dan sematkan.
Vivek Maharajh
57

http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx

Scott Hanselman memiliki inf sangat sederhana yang akan melakukan ini untuk Anda. Jika Anda ingin mengubah skrip, sangat mudah untuk pergi dan mengedit inf untuk penyesuaian.

Chris Sutton
sumber
Bisakah Anda memberikan ringkasan (misalnya, tautan busuk selalu menjadi masalah)?
Peter Mortensen
Apa itu "inf" (dalam konteks ini)?
Peter Mortensen
44

Sebagai alternatif untuk jawaban di atas, yang mengharuskan Anda untuk mengetik perintah PowerShell ( powershell.exe ) setiap kali, Anda dapat membuat entri menu konteks seperti " Buka jendela perintah di sini ".

Ada tiga kunci registri di mana perintah ini pergi. Setiap tombol mengontrol menu konteks dari objek Windows Explorer yang berbeda. Yang pertama adalah yang Anda tanyakan:

  • HKCR \ Directory \ Background \ shell - Ini adalah menu konteks untuk jendela Explorer itu sendiri (yaitu, menu konteks yang ditampilkan ketika tidak ada item yang dipilih, seperti ketika mengklik kanan di area kosong jendela).
  • HKCR \ Directory \ shell - Ini adalah menu konteks folder di Windows Explorer.
  • HKCR \ Drive \ shell - Ini adalah menu konteks untuk ikon drive di root Windows Explorer.

Untuk setiap kunci registri ini, Anda bisa menambahkan subkunci yang akan menambahkan perintah "Buka PowerShell jendela di sini" ke menu konteks, seperti halnya Anda memiliki menu konteks "Buka perintah jendela di sini".

Berikut ini adalah salinan file OpenPowerShellHere.reg saya , yang menempatkan perintah di menu konteks masing-masing objek Explorer, latar belakang jendela, folder, dan ikon drive:

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'"

Jadi, dengan editor teks favorit Anda, buka file baru bernama OpenPowerShellHere.reg . Salin teks persis kode di atas, tempel ke file baru, dan simpan. (Saya akan menyertakan salinan file, tetapi saya tidak tahu apakah lampiran itu mungkin.) Jika Anda ingin mengecualikan perintah dari salah satu entri, cukup komentari bagian yang sesuai dengan titik koma. Komentar saya menunjukkan kepada Anda setiap bagian.

Setelah Anda menyimpan file, jalankan dengan mengklik dua kali file tersebut. Ketika diminta, katakan untuk melanjutkan. Segera setelah Anda menjalankannya, entri menu konteks akan muncul!

Ini adalah menu konteks jendela Explorer saya. Saya telah menyoroti perintah konsol dan PowerShell. Seperti yang Anda lihat, Anda juga dapat menambahkan entri menu konteks untuk menjalankan jendela perintah yang ditinggikan, yaitu, Jalankan sebagai Administrator .

Entri PowerShell di menu konteks Explorer

Catatan : Entri menu konteks ditampilkan secara alfabet, berdasarkan kunci Registry mereka. Nama kunci untuk shell perintah yang ditinggikan adalah " runas ", itulah sebabnya ia muncul setelah entri PowerShell.

Catatan : Jika Anda memiliki jendela explorer yang terbuka, Anda mungkin perlu menutupnya dan membukanya kembali untuk mendapatkan perubahan agar berlaku.

Catatan : Di Windows 7, HKCR\Directory\Shellitu tidak berfungsi jika Anda menggunakan toolkit di sisi explorer

(mis. Mengklik Dokumen di bawah tajuk Perpustakaan)

Anda harus menavigasi menggunakan Computer -> C: -> to -> Some -> Target -> Directory

geo
sumber
Satu masalah di sini, adalah ketika saya membuka PS Window menggunakan menu konteks ini, dan masuk git help <cmd>, ia membuang file bantuan html di jendela PS sebagai teks biasa. Ketika saya menggunakan menu mulai, jendela PS itu membuka browser seperti seharusnya.
ProfK
@ProfK, saya tidak yakin apa yang terjadi di sana, karena saya tidak menggunakan 'git', namun, jendela PS yang terbuka menggunakan menu konteks ini adalah IDENTIK ke jendela PS yang terbuka menggunakan Start Menu, KECUALI Anda berada menggunakan PowerShell ISE saat Anda menjalankannya dari Start Menu. Jika itu masalahnya, Anda dapat mengubah "powershell.exe" di file registri di atas menjadi "powershell_ise.exe". Jika Anda menjalankan PowerShell biasa, maka tidak ada perbedaan, selain direktori di mana mereka mulai. Perintah Start Menu dimulai pada direktori pengguna Anda, sedangkan menu konteks dimulai pada direktori lokal.
geo
@ ProfK, Apakah mungkin direktori awal yang membuat perbedaan? Jika Anda memiliki sesuatu di direktori pengguna Anda tentang 'git', mungkin itulah bedanya. Seluruh tujuan menu konteks adalah untuk membuka PS di direktori LOCAL, tetapi jika perintah 'git' berjalan secara berbeda berdasarkan direktori tempat Anda berada, itu bisa menjadi masalah. Perbedaan direktori dan perbedaan antara PS dan PS ISE adalah satu-satunya hal yang dapat saya pikirkan.
geo
@geo Terima kasih atas semua umpan balik, tetapi saya menemukan bahwa mengklik dua kali file html di Explorer membukanya di Notepad ++. Saya menetapkan "Open with" default saya ke Chrome, tetapi saya juga menginstal Posh-Git secara bersamaan, dan sekarang bantuan Git saya terbuka di Chrome, bukan PS. Sisi yang menyedihkan adalah saya tidak tahu mana yang mengubah hal-hal yang diperbaiki.
ProfK
1
Skrip PS untuk menambahkan prompt PS yang ditinggikan (menghapus garis HasLUAShield untuk yang tidak ditinggikan) adalah @ powershellmagazine.com/2013/06/25/…
James Manning
33

Anda dapat mengunduh file inf dari sini - Memperkenalkan PowerShell Prompt Di Sini

Gulzar Nazim
sumber
2
Bisakah Anda memberikan ringkasan (misalnya, tautan busuk selalu menjadi masalah)?
Peter Mortensen
14

Di Windows 10 baik command prompt dan prompt powershell dapat ditemukan melalui menu bar, untuk non-admin dan admin. Opsi ini akan mengatur foldernya ke folder yang saat ini dipilih dari penjelajah.

Untuk versi Swedia setidaknya, PowerShell dibuka dengan Alt F+I. Untuk seorang administrator, cukup kuat Alt F+S+P.

Menu Windows Powershell

Jika itu bukan karakter yang benar, Anda dapat menekan dan menahan Alttombol untuk melihat karakter yang benar. akan ada karakter overlay item menu untuk setiap langkah.

Default
sumber
2
Ini adalah [Alt] [F + S + A] untuk powershell administrator pada Windows 10 saya (versi bahasa Inggris)
Rosdi Kasim
6

Saya ingin menu konteks ini hanya berfungsi ketika mengklik kanan dan menahan 'SHIFT' yang merupakan cara menu konteks 'Open Command window here' berfungsi.

Namun tidak ada solusi yang disediakan yang melakukannya sehingga saya harus memutar .regfile saya sendiri - salin di bawah ini, simpan sebagai power-shell-here-on-shift.regdan klik dua kali di atasnya.

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'"

buka shell daya di sini sambil menahan shift dan menekan klik kanan

Daniel Sokolowski
sumber
5

Coba PowerShell PowerToy ... Itu menambah item menu konteks untuk Open PowerShell Here .

Atau Anda bisa membuat pintasan yang membuka PowerShell dengan folder Mulai Masuk menjadi folder Proyek Anda.

Steven Murawski
sumber
3

Ini bahkan lebih mudah di Windows 8.1 dan Server 2012 R2.

Lakukan ini sekali: Klik kanan pada bilah tugas, pilih Properti. Pada tab Navigasi, hidupkan [✓] Ganti Prompt Perintah dengan Windows PowerShell di menu ketika saya klik kanan sudut kiri bawah atau tekan tombol Windows + X .

Kemudian setiap kali Anda ingin PowerShell cepat, hit Win+X, I. (Atau Win+X, Auntuk prompt Admin PowerShell)

Warren Rumak
sumber
4
Pintasan yang bagus, namun ini tidak memulai PowerShell di folder saat ini.
steenhulthin
3

Berikut ini adalah ringkasan (dan diperbarui) singkat dari solusi sebelumnya. Inilah yang harus dilakukan:

Tambahkan string ini dan kunci induknya masing-masing:

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

di lokasi-lokasi ini

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

Itu dia. Tambahkan string "Extended" untuk perintah yang hanya akan terlihat jika Anda menahan tombol "Shift", semua yang lain berlebihan.

ppw0
sumber
3

Ada ekstensi Windows Explorer yang dibuat oleh dude yang membuat alat untuk SVN yang setidaknya akan membuka jendela command prompt.

Saya belum mencobanya, jadi saya tidak tahu apakah itu akan melakukan PowerShell, tapi saya ingin berbagi cinta dengan saudara-saudara Stack Overflow saya:

http://tools.tortoisesvn.net/StExBar

Josh Kodroff
sumber
2

Pilihan lain adalah Elevation PowerToys yang sangat baik oleh Michael Murgolo di TechNet di http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Mereka termasuk PowerShell Prompt Here dan PowerShell Prompt Here sebagai Administrator.

Mark Larson
sumber
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
Lundin
Itu adalah poin yang valid untuk dipertimbangkan saat memposting tautan; Namun, artikel tertaut berisi unduhan resmi ke Elevation PowerToys, yang merupakan bagian penting dari jawabannya.
Mark Larson
2

Dengan menambahkan kunci registri di bawah ini, di Windows 10, saya berhasil mendapatkan opsi Open PowerShell Here di SHIFT + RClickmenu konteks saya . Cukup salin ini ke file notepad kosong lalu simpan sebagai .regfile dan jalankan file untuk menambahkan kunci dan itu harus bekerja dari sana. Beberapa jawaban lain mengatakan untuk menambahkan kunci ke HKCR \ Directory \ shell tetapi saya menemukan bahwa bagi saya itu hanya bekerja dengan kunci masuk ke 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'"
Rhys
sumber
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."
}

Anda dapat mengunduh skrip detail dari cara memulai PowerShell dari Windows Explorer

frank tan
sumber
1

Salah satu alternatif yang cukup sederhana adalah memanggil PowerShell melalui pintasan. Ada properti pintasan berlabel "Mulai" yang mengatakan direktori (folder) apa yang digunakan ketika pintasan dipanggil.

Jika kotak Mulai Di dalam kosong, itu berarti menggunakan direktori saat ini.

Saat Anda pertama kali membuat pintasan ke PowerShell dengan cara biasa, kotak mulai di menentukan direktori home. Jika Anda mengosongkan kotak mulai di, Anda sekarang memiliki jalan pintas ke PowerShell yang membuka PS di direktori saat ini, apa pun itu.

Jika sekarang Anda menyalin pintasan ini ke direktori target, dan menggunakan explorer untuk memohonnya, Anda akan memulai PS yang diarahkan ke direktori target.

Sudah ada jawaban yang diterima untuk pertanyaan ini, tetapi saya menawarkan ini sebagai cara lain.

Walter Mitty
sumber
1

Untuk pengguna autohotkey, inilah cuplikan yang saya gunakan

Ini membuka jendela PowerShell, saat menekan Ctrl-Alt-T. (Diuji dengan Win10)

Jika "jendela aktif" Anda adalah jendela Windows Explorer-jendela, maka PowerShell dibuka di folder saat ini . Jika tidak, buka saja PowerShell di beberapa folder default .

Penggunaan: 1) Instal AutoHotkey, dan salin tempel ini ke myscript.ahk 2) Ganti <DefaultPath>dengan jalur pilihan Anda. 3) Jalankan skrip.

; 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
np8
sumber
1

Saya terkejut tidak ada yang memberikan jawaban ini, itu yang paling sederhana. (Harus tahun ini.)

Cukup Shift + klik kanan di Explorer. Kemudian Anda bisa "Buka jendela PowerShell di sini".

Ini dapat diatur ke Command Prompt secara default. Jika demikian, Anda dapat mengubahnya di Pengaturan Windows 10: pergi ke Personalisasi -> Taskbar dan aktifkan "Ganti Prompt Perintah dengan Windows PowerShell di menu ketika saya klik kanan tombol mulai atau tekan tombol Windows + X".

Andrew
sumber
1

Windows 10 membuatnya lebih mudah. Anda dapat:

  • [SHIFT] + [Klik kanan] pada folder, dan Anda mendapatkan item menu Open PowerShell window here.

Atau kamu bisa:

  • File-> Open Windows PowerShell.

Dan untuk bonus ...

Jika Anda mengklik kanan File-> Open Windows PowerShell, maka Anda dapat Add to Quick Access Toolbar:

masukkan deskripsi gambar di sini

Yang menempatkan ikon berguna di sini:

masukkan deskripsi gambar di sini

Dan sekarang Anda bisa mengklik ikon itu. :)

Craigo
sumber