Я пытаюсь получить согласованный внешний вид cmd.exe и powershell.exe в Windows 10.
Использование информации с: https://blogs.msdn.microsoft.com/commandline/2017/06/20/understanding-windows-console-host-settings/
Где параметры консоли загружаются и / или сохраняются, определяется на основе следующей иерархии:
- Жестко закодированные настройки в conhostv2.dll
- Настроенные пользователем значения по умолчанию для консоли сохраняются в виде значений в «HKCU \Console»
- Параметры реестра для отдельных консольных приложений, хранящиеся в виде подразделов HKCU \Console с использованием одного из двух имен подразделов:
- Путь к консольному приложению (замена «\» на «_»)
- Название консоли
- Файлы ярлыков Windows (.lnk)
Я изменил реестр в:
\HKEY_CURRENT_USER\Console
для установки цветов, размера и шрифта cmd.exe
а также:
\HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
\HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
иметь другой цвет фона в powershell.exe, но шрифт и размер окна наследуются от cmd.exe.
Это прекрасно работает для cmd.exe, запускаемого любым способом, а для PS запускается из Проводника> Файл> Открыть Windows PowerShell.
Однако у меня возникли проблемы при смене ссылок из меню «Пуск»> Windows PowerShell
Эти файлы .lnk имеют установленные цвета и не используют настройки реестра.
Я попытался воссоздать ссылку и установить ее путь к %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
, он работает, но использует настройки из реестра для командной строки, а не настройки для PowerShell.
Можно ли удалить настройки консоли из .lnk файла?