Я думаю, что этот вопрос был бы более подходящим для SuperUser (ну, если вы не хотите сделать это с помощью программы :)).
В любом случае, вот способ сделать что-то изконсоль ( cmd ).Я пробовал это 1 или 2 года назад, я только что попробовал это сейчас, так что он работает независимо от версии Win (10) .
Запустить процесс с нуля:
Открыть Окно командной строки .Создайте новый файл, о котором OS ничего не знает.Я выбрал расширение .zzz :
e:\Work\Dev\StackOverflow\q052008516>ver
Microsoft Windows [Version 10.0.17134.228]
e:\Work\Dev\StackOverflow\q052008516>dir /b
e:\Work\Dev\StackOverflow\q052008516>:: Create a dummy .zzz file
e:\Work\Dev\StackOverflow\q052008516>echo Some dummy text>file.zzz
e:\Work\Dev\StackOverflow\q052008516>dir /b
file.zzz
Попробуйте открыть файл ( DblClick ) из файлового браузера (это не актуально, но я использую Total Commander ) или введите его имя в CMD .Это приведет к ужасному диалогу:
Создайте новый тип файла и свяжите с ним наше расширение. [MS.Docs]: утилита assoc используется для выполнения этой работы.Во-первых, проверьте, не существует ли такой ассоциации:
e:\Work\Dev\StackOverflow\q052008516>:: No output means no association
e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".zzz"
e:\Work\Dev\StackOverflow\q052008516>:: Same command for a different extension
e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".txt"
.dic=txtfile
.exc=txtfile
.log=txtfile
.scp=txtfile
.txt=txtfile
.wtx=txtfile
e:\Work\Dev\StackOverflow\q052008516>:: Create a new FileType (ZZZFile) and associate our extension with it
e:\Work\Dev\StackOverflow\q052008516>assoc .zzz=ZZZFile
.zzz=ZZZFile
e:\Work\Dev\StackOverflow\q052008516>assoc | findstr ".zzz"
.zzz=ZZZFile
Без изменений при попытке открыть файл.
Свяжите тип файла ( ZZZFile , из предыдущего шага) с командой.Для выполнения этой задачи используйте инструмент [MS.Docs]: ftype .Опять же, проверьте, не связан ли тип файла (это имеет смысл, если тип файла существовал до предыдущего шага):
e:\Work\Dev\StackOverflow\q052008516>:: As usual, no output means no association
e:\Work\Dev\StackOverflow\q052008516>ftype | findstr ZZZFile
e:\Work\Dev\StackOverflow\q052008516>:: Same thing for txtfile
e:\Work\Dev\StackOverflow\q052008516>ftype | findstr txtfile
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
e:\Work\Dev\StackOverflow\q052008516>:: Associate ZZZFile with notepad
e:\Work\Dev\StackOverflow\q052008516>ftype ZZZFile=%SystemRoot%\system32\notepad.exe %1
ZZZFile=C:\WINDOWS\system32\notepad.exe %1
e:\Work\Dev\StackOverflow\q052008516>ftype | findstr ZZZFile
ZZZFile=C:\WINDOWS\system32\notepad.exe %1
Попробуйте открыть файл еще раз (из cmd ) и voilà :
Резюме:
Чтобы открыть с помощью notepad.exe файлы, имеющие .zzz расширение , есть только 2 команды , которые необходимо запомнить из всего этого (и довольно длинного) ответа:
assoc .zzz=ZZZFile
ftype ZZZFile=%SystemRoot%\system32\notepad.exe %1
Примечания :
- Мой пользователь имеет (супер) административные привилегии , но я думаю, что они не должныне влияет по-разному в зависимости от того, где выполняется действие ( cmd или UI (если возможно)), другими словами, пользователи, не имеющие требуемых привилегий, не будутв состоянии сделать это, независимо от того, что они будут пытаться
- Очевидно, (по этой теме существует (довольно темная) туманность ), которую мои знания еще не смогли "расшифровать".В моем примере я постоянно сравниваю результаты .zzz с .txt .Еще большой сюрприз: Блокнот ++ и не Блокнот используется для открытия txtfile ( .txt только), несмотря на вышеприведенный вывод
@ EDIT0 :
Я еще немного покопался в загадке .txt .Факты:
- ftype показывает Блокнот в качестве программы открытия
- Фактически он открывается Блокнотом ++ (в cmd и PS )
- В Выбор приложений по умолчанию по типу файла , Блокнот ++ отображается
Так что, очевидно, это больше, чем кажется на первый взгляд (за эти годы я привык к тому, что MS делает что-то, что в некоторых случаях кажется (но, может быть, это я не сделалесть все кусочки) илогично).Я также обнаружил много ресурсов, таких как:
Я нигде не смог найти четкого алгоритма выбора исполняемого файла для запуска файла с определенным расширением. Я могу думать, что 2 клавиши выше запрашиваются, но я 100% уверен, что есть еще. Не говоря уже о том, что я столкнулся с еще более странной проблемой (для обычного пользователя на моем Win 10 ), для .py файлов:
- ftype (и assoc ) сообщили обо всем, как указано выше
- В Выбор приложений по умолчанию по типу файла , Был показан Python (как в моем случае пользователя Super Admin )
- Попытка запустить файл из cmd , открыла диалоговое окно в начале
- Он работал с PS
К сожалению, я выбрал Python из диалогового окна, прежде чем взглянуть на клавиши reg (и теперь это работает), поэтому я больше не могу делать отладку (и Также переключение пользователей раздражает).