Cara menjalankan file dari prompt Windows Run tanpa menyertakan ekstensi file

0

Jika saya memiliki skrip PowerShell bernama myscript.ps1 dan itu duduk di PATH, saya ingin dapat menekan Windows + r , ketik "myscript", dan tekan memasukkan . Saat ini saya harus mengetik myscript.ps1, dan itu berjalan dengan baik.

Saya telah menemukan beberapa jawaban yang disarankan ftype, assoc, dan PATHEXT variabel lingkungan, tetapi itu hanya memengaruhi skrip yang dijalankan dari command prompt atau PowerShell, bukan dari explore.exe's Run prompt.

Saya berasumsi ada beberapa pengaturan registri, tetapi saya tidak tahu apa yang harus dicari, seperti fileext memiliki ratusan entri. Saya juga mencari .bat sejak file batch bekerja secara otomatis, tetapi saya belum menemukan sesuatu yang jelas.

Saya pikir saya menemukannya di bawah HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap dengan menambahkan nilai .ps1 dan mengaturnya ke program sebagai .bat, .cmd, .com, dan .exe semuanya diatur seperti itu, tetapi tidak ada dadu (bahkan setelah menghidupkan ulang komputer saya).

Saya juga memperhatikan bahwa .bat, .cmd, .exe, .lnk, dan .msi masing-masing memiliki HKCR\<app-handler-id>\shellex\PropertySheetHandlers\ShimLayer Property Page mulai {513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}, tetapi menambahkan itu ke HKCR\Microsoft.Powershell.1 juga tidak layak.

dx_over_dt
sumber
Anda dapat menulis skrip pembungkus, yang akan mencantumkan semua skrip pribadi Anda dan membiarkan Anda memilih satu untuk dijalankan?
Xen2050
Saya mempertimbangkan itu, dan saya mungkin melakukannya, tetapi saya masih ingin pertanyaan saya dijawab. Saya ingin tahu cara kerja Windows.
dx_over_dt
Saya kira Anda perlu nama lengkap untuk menjalankan sesuatu. Jika Anda berada di terminal, Anda dapat mencoba menekan TAB untuk menyelesaikan banyak hal secara otomatis (program, file, direktori ...)
Xen2050
Namun ekstensi file tertentu tidak diperlukan: .bat, .exe, .cmd, dll. Saya menganggap itu bukan hard-coded ke dalam OS, jadi harus ada cara untuk mengubahnya dan menambahkan .ps1.
dx_over_dt
1
@EricW. Ya, saya hanya tidak suka solusi pada umumnya. Plus, itu membutuhkan file batch untuk setiap skrip kecuali Anda ingin menggunakan skrip ps1 sebagai argumen untuk skrip batch; dalam hal itu akhirnya menghemat total 2 karakter dengan asumsi nama file batch hanya 1. Ternyata. lnk (file pintas) juga tidak memerlukan ekstensi, jadi saya pikir saya akan pergi rute itu untuk satu naskah saya.
dx_over_dt