Я использую Powershell в Windows 7. Как настроить Powershell, чтобы он отображал только имя текущей папки (вместо полного пути) в приглашении оболочки?
Например, вместо C:\folder\directory\name>
я хочу name>
.
Я использую Powershell в Windows 7. Как настроить Powershell, чтобы он отображал только имя текущей папки (вместо полного пути) в приглашении оболочки?
Например, вместо C:\folder\directory\name>
я хочу name>
.
Вы должны настроить функцию приглашения в своем профиле PowerShell (%userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
); он может быть пустым или даже не существовать, если вы никогда не изменяли его раньше.
Откройте свой профиль (например, откройте вышеупомянутый файл или находясь в PowerShell, Notepad $profile
)
Добавьте следующее в свой профиль:
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Сохранить профиль
Перезапустите PowerShell
Необязательно. Если вы получили сообщение о том, что вам не разрешено запускать сценарии, вам нужно скопировать / вставить эту строку в PowerShell:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
и перезагрузите.
Политики выполнения Windows PowerShell позволяют определить условия, при которых Windows PowerShell загружает файлы конфигурации и запускает сценарии.
Вы можете установить политику выполнения для локального компьютера, для текущего пользователя или для определенного сеанса. Вы также можете использовать параметр групповой политики для установки политики выполнения для компьютеров и пользователей.
Источник: документация Microsoft
Как дополнительное примечание, я не мог выполнить команду @ Synetech, пока я сначала не создал профиль $.
Введите $profile
и нажмите Enter. Это отобразит путь к профилю, на который опирается PowerShell, даже если он не существует (он не был для меня). Мой путь отличался от описанного выше @Synetech.
>$profile
C:\Users\[username]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Мне пришлось создать папку WindowsPowerShell и файл Microsoft.PowerShell_profile.ps1.
Замечания:
Если вы используете posh-git (который устанавливается при использовании рабочего стола GitHub), скрипт @ Synetech переопределит приглашение posh-git. Дополнительные подсказки для скриптов пошалить можно здесь.
Измените подсказку, чтобы показать текущую папку без полного пути и больше, чем символ в конце:
Одним из способов может быть:
Function Prompt { "$( ( get-item $pwd ).Name )>" }
Или же:
Function Prompt { "$( Split-Path -leaf -path (Get-Location) )>" }
Или же:
Function Prompt { "$( ( Get-Location | Get-Item ).Name )>" }
Я обнаружил, что это довольно легко - объединить ответ @ Synetech и информацию, найденную в профилях PowerShell. Потому что я новичок в PS. Мои шаги (для vscode):
вставить в
function prompt {
$p = Split-Path -leaf -path (Get-Location)
"$p> "
}
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser (по вашей подсказке PS, из ответа SuperUse)
перезагрузить vscode
Так что, в основном, это ответ @ Synetech (с голосованием), чтобы немного начать - особенно шаг 2 делает это очень легко.
Ниже единственная строка отлично работает для меня
(Get-Location | Get-Item).название