#powershell
#powershell
Вопрос:
Я хотел бы перейти на компакт-диск в какой-либо каталог без отображения powershell пути к этому каталогу. Что бы я ни пытался — ничего не работает:
PS C:devwindowsnc> cd .NC.Server.Host | Out-Null
C:devwindowsncNC.Server.Host
PS C:devwindowsncNC.Server.Host> cd .. > $null
C:devwindowsnc
PS C:devwindowsnc> cd .NC.Server.Host 2> $null
C:devwindowsncNC.Server.Host
PS C:devwindowsncNC.Server.Host> $x=cd ..
C:devwindowsnc
PS C:devwindowsnc>
Как вы можете видеть, всегда отображается путь к целевому каталогу. Это способ избежать этого? Спасибо.
Редактировать
Вот моя функция подсказки:
PS Z:dev3rd_party> gc Function:prompt
$(if (test-path variable:/PSDebugContext) { '[DBG]: ' } else { '' }) 'PS ' $(Get-Location) $(if ($nestedpromptlevel -ge 1) { '>>' }) '> '
Ответ №1:
Вероятно, вы используете расширения сообщества PowerShell. В них cd
определяется как псевдоним, к Set-LocationEx
которому относится это поведение:
PS Home:> Set-Location ..
PS Home:> Set-LocationEx ..
Home:
Либо используйте Set-Location
вместо cd
, либо не загружайте PSCX, либо переопределите cd
его обычный псевдоним после загрузки PSCX в вашем профиле.
(По этим причинам я загружаю PSCX только изредка, если мне действительно нужна команда оттуда; переопределение основных команд или псевдонимов с немного другой семантикой является злом и никогда не должно выполняться.)
Комментарии:
1. Я отредактировал свой пост, чтобы указать на реальную проблему ;-). Извините за удар в темноте ранее.