Не совсем так, как я знаю. Один из вариантов - использовать pushd вместо cd. Тогда popd вернет вас обратно.
Вы также можете изменить свой профиль, чтобы каждый раз, когда появлялось новое приглашение (в основном, когда вы нажимаете Enter). Было бы получить PWD и сравнить это с предыдущим. Если они разные, поместите это значение в стек. Затем вы бы включили в свой профиль другую функцию, которая называется что-то вроде cdb, которая вытолкнула бы последний элемент из стека и cd в него.
Это звучало как весело , так что я придумал в растворе. Поместите весь этот код в свой профиль ( about_Profiles ).
[System.Collections.Stack]$GLOBAL:dirStack = @()
$GLOBAL:oldDir = ''
$GLOBAL:addToStack = $true
function prompt
{
Write-Host "PS $(get-location)>" -NoNewLine -foregroundcolor Magenta
$GLOBAL:nowPath = (Get-Location).Path
if(($nowPath -ne $oldDir) -AND $GLOBAL:addToStack){
$GLOBAL:dirStack.Push($oldDir)
$GLOBAL:oldDir = $nowPath
}
$GLOBAL:AddToStack = $true
return ' '
}
function BackOneDir{
$lastDir = $GLOBAL:dirStack.Pop()
$GLOBAL:addToStack = $false
cd $lastDir
}
Set-Alias bd BackOneDir
Теперь вы можете использовать CD так же, как обычно, и BD вернет вас обратно в историю вашего местоположения.
pushd
перейти к новому каталогу, вы можетеpopd
вернуться к предыдущему. Это работает в Bash, PowerShell и даже в устаревшей командной строке Windows.