Bagaimana cara mengubah "Buka dengan Powershell" menjadi "Buka dengan Command Prompt" ketika shift-rightclicking di Explorer?

38

Pergeseran-klik kanan tempat kosong di Explorer menampilkan "Buka dengan PowerShell" alih-alih "Buka dengan Command Prompt" sejak Pembaruan Pembuat (2017-04). Bagaimana saya bisa mendapatkan perilaku lama kembali ke tempat itu menunjukkan "Buka dengan Prompt Perintah" ?

Saya mencoba mengubah pengaturan "Tunjukkan PowerShell alih-alih Command Prompt ketika mengklik kanan Start Menu atau menekan Windows + X" untuk mematikan, tetapi itu tidak mengubah menu shift + klik kanan.

nelson2tm
sumber

Jawaban:

40

Buka regedit.exe, buka HKEY_CLASSES_ROOT\Directory\shell\cmd, ambil kepemilikan kunci , tambahkan izin penuh akun pengguna Anda dan ubah nama DWORD dari HideBasedOnVelocityIdmenjadi ShowBasedOnVelocityIduntuk mengaktifkan entri prompt perintah lagi .

Masukkan deskripsi gambar di sini

Atau terapkan tweak Andrew Richards untuk memiliki keduanya ditampilkan (cmd dan PowerShell, juga dengan entri memiliki versi elevate (running as admin)),

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

dengan mengimpor file .reg-nya (membuat file txt baru, menempelkan konten dan mengganti nama ekstensi file menjadi reg):

Windows Registry Editor Version 5.00

; Command Prompt

[HKEY_CLASSES_ROOT\Directory\shell\01MenuCmd]
"MUIVerb"="Command Prompts"
"Icon"="cmd.exe"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\background\shell\01MenuCmd]
"MUIVerb"="Command Prompts"
"Icon"="cmd.exe"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\open]
"MUIVerb"="Command Prompt"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\open\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\runas]
"MUIVerb"="Command Prompt Elevated"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuCmd\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""


; PowerShell

[HKEY_CLASSES_ROOT\Directory\shell\02MenuPowerShell]
"MUIVerb"="PowerShell Prompts"
"Icon"="powershell.exe"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\background\shell\02MenuPowerShell]
"MUIVerb"="PowerShell Prompts"
"Icon"="powershell.exe"
"ExtendedSubCommandsKey"="Directory\\ContextMenus\\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuPowerShell\shell\open]
"MUIVerb"="PowerShell"
"Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuPowerShell\shell\open\command]
@="powershell.exe -noexit -command Set-Location '%V'"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuPowerShell\shell\runas]
"MUIVerb"="PowerShell Elevated"
"Icon"="powershell.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MenuPowerShell\shell\runas\command]
@="powershell.exe -noexit -command Set-Location '%V'"


; Ensure OS Entries are on the Extended Menu (Shift-Right Click)

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\background\shell\cmd]
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\shell\Powershell]
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\background\shell\Powershell]
"Extended"=""
magicandre1981
sumber
Metode ke-2 dalam jawaban Anda baik. Tetapi untuk seseorang yang tidak tahu apa yang harus dilakukan dengan .reg, cukup salin teks file ke file .txt & ganti nama file <nama> .reg & klik dua kali untuk menjalankannya. Meskipun ada pesan kesalahan, operasi ini berhasil
KharoBangdo
2
Bagaimana cara mengembalikan dari kunci reg ini?
vee
Saya lebih suka mereka semua menjadi sub menu dari satu item menu. Dalam artikel asli ada juga item GIT bash, membuat menu default terlalu berantakan.
Pavel P
2
Jawaban ini tidak bekerja untuk saya sampai saya diterapkan solusi untuk semua tiga jalur registri: HKEY_CLASSES_ROOT\Directory\Background\shell\cmd, HKEY_CLASSES_ROOT\Directory\shell\cmd, dan HKEY_CLASSES_ROOT\Drive\shell\cmdseperti yang diarahkan di sini
Terrance
1
File .reg itu berfungsi seperti mantra.
MC Emperor
7

Ini sangat mudah dicapai

  • Di jendela Taskbar dan Start Menu Properties , buka tab Navigasi dan hapus centang opsi Replace Command Prompt dengan Windows PowerShell .
  • Klik Terapkan agar perubahan berlaku.

masukkan deskripsi gambar di sini

Sumber: Ganti Prompt Perintah dengan PowerShell On Power User Menu Di Windows 10

Sumber tambahan: Tampilkan Command Prompt atau PowerShell di Win + X Power Menu Tugas Pengguna di Windows 10

masukkan deskripsi gambar di sini

Sumber tambahan: Microsoft Menggantikan Prompt Perintah dengan PowerShell As Windows 10 Default Shell

Ramhound
sumber
16
Ini hanya mengubah menu Windows + x, bukan menu "Buka dengan" ketika menggeser + klik kanan tempat kosong di Explorer.
nelson2tm
1
tidak ada Ramhound ini tidak bekerja. Anda HANYA mengubah apa yang muncul di menu WinX pada klik kanan pada tombol start, tidak melakukan klik kanan di dalam Windows / File Explorer
magicandre1981
6

Sebagai alternatif cepat untuk jawaban lain, Anda dapat mengetik cmddi bilah alamat Explorer untuk membuka prompt perintah cdke direktori saat ini. (Jika Anda lebih banyak menggunakan papan ketik, Anda dapat menggunakan Ctrl + Lpintasan untuk memfokuskan bilah alamat lalu mengetik cmd.)

Ini juga berfungsi powershell.

Raphael
sumber
1

Untuk menekan semua lokasi di mana Windows telah mengubah ini, Anda dapat menggunakan file registri berikut setelah mengambil kepemilikan setiap kunci yang dimaksud.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8
"HideBasedOnVelocityId"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8
"ShowBasedOnVelocityId"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8
"HideBasedOnVelocityId"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8
"ShowBasedOnVelocityId"=-

[HKEY_CLASSES_ROOT\Drive\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8
"HideBasedOnVelocityId"=-

[HKEY_CLASSES_ROOT\Drive\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8
"ShowBasedOnVelocityId"=-

Saya hanya akan mengambil kepemilikan [HKCR\Directory]dan [HKCR\Drive]kunci secara rekursif dan memaksa warisan izin.

Izin Registri dan pengaturan Kepemilikan

palswim
sumber
-1

Ini menyembunyikan PowerShell dari menu konteks Shift-Right Click dan membuat cmd terlihat.

Menggunakan editor teks sederhana seperti Notepad, simpan kode berikut ke file dengan ekstensi .REG (mis MyImport.reg.). Kemudian klik dua kali file yang disimpan dan ikuti petunjuk untuk mengimpornya ke dalam Registry:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Directory\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Drive\shell\cmd]
"ShowBasedOnVelocityId"=dword:00639bc8

[HKEY_CLASSES_ROOT\Drive\shell\Powershell]
"HideBasedOnVelocityId"=dword:00639bc8
Riccardo La Marca
sumber
Tanpa menjelaskan apa yang dilakukan dan bagaimana menggunakannya, ini bukan jawaban. Harap edit posting Anda untuk menjelaskan.
Saya katakan Reinstate Monica
selesai! ..........
Riccardo La Marca
1
Lebih baik, namun lihat edit saya untuk lebih dari apa yang saya harapkan (tidak semua pengguna akan tahu cara mengimpor konten ke dalam Registry).
Saya katakan Reinstate Monica
-3

Di Windows 10 ini sekarang termasuk dalam pengaturan taskbar.

Pengaturan Taskbar Windows 10

George
sumber
3
"Ini hanya mengubah menu Windows + x, bukan menu" Buka dengan "ketika menggeser + klik kanan tempat kosong di Explorer." -nelson2tm
Matt M.