Команда «Пуск» (которая является псевдонимом для Start-Process
) запустит любой файл в редакторе по умолчанию.
start .\MyCoolbmp.bmp
#Opens in MSPaint
start .\SomeNotes.txt
#Opens in Notepad
start .\SomeJason.json
#Opens in Visual Studio, go ahead and grab a coffee...
Если я должен был догадаться, почему у вас не работает, то это то, что реестр Вы дали ключ, который используется для системы, в то время как редактор пользователя по умолчанию хранится, начиная с Windows 7 и выше, вместо куста HKEY_CURRENT_USER по этому пути Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice'
.
Вот соответствующие значения :
$txtKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice"
Get-ItemProperty -Path $txtKey | tee-object -variable txtPath
Hash : noCJnt8yX5Y=
ProgId : VSCode.txt
Это связано с информацией, найденной в HKCR: \ Applications, где можно найти истинный путь.
get-itemproperty Registry::\HKEY_CLASSES_ROOT\$($txtPath.ProgId)\shell\open\command
(default) : "C:\Program Files\Microsoft VS Code\Code.exe" "%1"
#...
Если вы захватите это (по умолчанию) значение , теперь у вас есть верный путь для редактора, связанного с текстовыми файлами.
Чтобы прочитать немного больше о топи c, , это сообщение в блоге довольно неплохо и подробно расскажем о том, как работают ассоциации.