Редактирование приглашения PowerShell, когда файл профиля пользователя не существует

Я хочу отредактировать приглашение Powershell, как описано здесь https://superuser.com/questions/1259900/how-to-colorize-the-powershell-prompt. Однако моя переменная $profile ссылается на несуществующий путь C:\Users\ferdi\OneDrive\Documenti\WindowsPowerShell\Microsoft.PowerShell_profile.ps1. В частности, папка WindowsPowerShell не существует. Как мне найти истинное местоположение моего $profile, чтобы я мог редактировать его и изменить свое приглашение?

Большое спасибо!

Консоль PowerShell использует четыре (4) сценария «профиля». Посмотрите, как они используют $PROFILE | Get-Member -Type NoteProperty.

lit 31.05.2024 21:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
1
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Значение автоматической переменной $PROFILE — это истинное местоположение файла вашего профиля, точнее файла профиля для текущего пользователя (вас) и текущего хоста (приложения, на котором размещается PowerShell, обычно окна консоли/терминала). .

  • Дополнительную информацию, в том числе о других файлах профиля, см. в концептуальном разделе справки about_Profiles.

  • Несмотря на то, что $PROFILE — это строка, она украшена свойствами, содержащими все пути к профилям, и простой способ показать их все — это
    $PROFILE | Select-Object *, или, более концептуально,
    $PROFILE | Get-Member -MemberType NoteProperty, как горит ноты.

Просто PowerShell по умолчанию не создает никаких файлов профилей и даже не создает для них каталогов.

Например, чтобы затем отредактировать свой профиль с помощью Visual Studio Code, запустите code $PROFILE или, если специальный текстовый редактор не установлен, используйте notepad $PROFILE.

  • В любом случае, если есть вероятность, что содержимое файла (возможно, со временем) будет содержать символы, отличные от ASCII (например, é), обязательно сохраните файл как UTF-8 с BOM, который необходим Windows PowerShell для его чтения. правильно, а также работает в PowerShell (Core) 7.

Отличный ответ, как обычно. Все пути профиля относятся к типам NoteProperty. Что заставляет CurrentUserCurrentHost испускаться при использовании переменной $PROFILE? Хотите это как еще один вопрос?

lit 01.06.2024 01:56

Спасибо, @lit. Причина, по которой $PROFILE эквивалентна значению свойства .CurrentUserCurrentHost ETS, заключается в том, что оно также объявлено как значение экземпляра [string], поскольку переменная $PROFILE с точки зрения .NET заключена в (в основном) невидимый экземпляр [psobject] — см. github .com/PowerShell/PowerShell/blob/…

mklement0 01.06.2024 03:57

Другие вопросы по теме