Як запустити файл із рядка Windows Run, не включаючи розширення файлу


0

Якщо у мене є ім'я сценарію PowerShell myscript.ps1 і вона сидить у PATH, я хотів би бути в змозі натиснути Windows + r , введіть "myscript" і натисніть введіть . В даний час вона вимагає від мене типу myscript.ps1, і він працює нормально.

Я знайшов кілька запропонованих відповідей ftype, assoc, і PATHEXT змінної середовища, але це впливає лише на сценарії, які виконуються з командного рядка або PowerShell, але не з підказки Run.

Я припускаю, що є деякі налаштування реєстру, але я не знаю, що шукати, як fileext має сотні записів. Я також шукав .bat оскільки пакувальні файли працюють автоматично, але я не знайшов нічого очевидного.

Я думав, що знайшов її під HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap додавши значення .ps1 і встановивши його program як .bat, .cmd, .com і .exe всі встановлені таким чином, але без кісток (навіть після перезавантаження комп'ютера).

Я також помітив, що HKCR\<app-handler-id>\shellex\PropertySheetHandlers\ShimLayer Property Page встановлений в {513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}, але додавши це до HKCR\Microsoft.Powershell.1 не варто.


Ви можете написати сценарій обгортки, який би перераховував усі ваші персональні скрипти і дозволив вам вибрати один для запуску?
Xen2050

Я вважав це, і я міг би це зробити, але я все ще хочу відповісти на моє запитання. Мені цікаво, як працює Windows.
dx_over_dt

Думаю, вам потрібно повне ім'я для запуску речей. Якщо ви знаходилися в терміналі, ви можете спробувати натиснути клавішу TAB для автоматичного заповнення багатьох речей (програми, файли, каталоги ...)
Xen2050

Деякі розширення файлів не потрібні, хоча: .bat, .exe, .cmd і т.д. Я припускаю, що вони не є жорстко закодованими в ОС, тому має бути спосіб змінити їх і додати .ps1.
dx_over_dt

1
@EricW. Так, мені просто не подобаються обхідні шляхи взагалі. Крім того, для кожного скрипта потрібний пакетний файл, якщо ви не хочете використовувати сценарій ps1 як аргумент для пакетного сценарію; у такому випадку це заощадить вам всього 2 символи, якщо ім'я файлу партії тільки 1. Виявляється .lnk (файли ярликів) також не вимагають розширення, тому я думаю, що я збираюся йти цим маршрутом для мій один сценарій.
dx_over_dt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.