Я хочу быть независимым от установленных приложений и делиться большинством своих приложений в виде портативных версий на облачном диске. Поэтому моя идея заключается в том, что всякий раз, когда я сижу на новом устройстве, я просто синхронизирую свой облачный диск и запускаю какой-то процесс, который устанавливает мои настройки.
Под установкой я подразумеваю настройку параметров Windows и так далее. И я хочу установить приложения по умолчанию для каждого типа файла. Например, свяжите файлы .txt
с d:\cloud\notepad++\notepad++.exe
Вот упрощенный скрипт, как я пытаюсь это сделать. Я ErrorActions
и так далее, чтобы сделать его более читабельным.
$exe = "d:\cloud\notepad++\notepad++.exe"
$app = "notepad++.exe"
$ext = ".txt"
# Remove old associations
Remove-Key -Key "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$ext"
Remove-Key -Key "HKCR:\$ext"
Remove-Key -Key "HKCR:\$app"
# Setup new associations
cmd /c assoc $ext=$app
cmd /c ftype $app="$exe" "%1" "%*"
Set-ItemProperty -Path "HKCR:\$app" `
-Name "(Default)" `
-Value "Text file" `
-Type String
Этот вид работ. Всякий раз, когда я пытаюсь открыть файл .txt
теперь он спрашивает, какое приложение использовать, и предварительно выбирает notepad++.
Хорошо, это немного раздражает, но я мог бы жить с этим. Хотя. Когда я проверяю always use this app to open .txt files
он просто игнорируется. Я всегда получаю этот диалог.