Как можно показать текущий каталог в PowerShell?

22

Мне бы хотелось, чтобы текущий рабочий каталог отображался в командной строке powershell, как это будет сделано в (например) приглашении CMD. Как я могу это сделать?

Билли ОНил
источник

Ответы:

22

Проверьте это: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html

По сути, вы можете создать файл профиля с именем Microsoft.PowerShell_profile.ps1, который будет запускаться каждый раз, когда вы запускаете powershell.

В зависимости от того, для кого вы хотите его запустить, есть несколько папок, в которые вы можете поместить этот файл (объяснение по ссылке выше). Если это только для вас, вы можете создать папку с именем WindowsPowerShell в папке «Мои документы» и поместить ее туда.

Если вы поместите эту функцию в этот файл:

function prompt
{
    "PS " + $(get-location) + "> "
}

Это заставит ваш запрос выглядеть так:

PS C:\directory\path\here>

Есть много других вещей, которые вы можете вставить в это, но это основы.

ПРИМЕЧАНИЕ: прежде чем вы сможете использовать скрипт профиля, вам нужно запустить «set-executepolicy remotesigned» из powershell - это позволит вам запускать неподписанные сценарии, написанные локально на компьютере, и подписанные сценарии от других.

bfhd
источник
Кажется, не работает надстройка Visual Studio :( Ну хорошо.
Билли ONeal
@BillyONeal: проверьте значение $profile.CurrentUserCurrentHostи $profile.CurrentUserCurrentHostпосмотрите, какие сценарии профиля (пользователя) являются действительными. Разные хосты (например, VS против ISE) имеют разное значение для$profile.CurrentUserCurrentHost
Ричард
9

Просто добавьте в свой profile.ps1файл следующее (в папке My Documents \ WindowsPowerShell ):

подсказка функции {"$ pwd>"}
Джон Т
источник
6

Попробуйте следующее:

$CurrentDir = $(get-location).Path;
Jitendra
источник
Приведенный выше код также является способом определения местоположения.
Нароттам Гойал
2

В настоящее время это работает отлично:

echo "$PWD"

который работает иначе, чем

echo $PWD

Только не забудьте про кавычки :) Пример вывода ниже.

PS C:\Users\user name> echo $PWD

Path
----
C:\Users\user name


PS C:\Users\user name> echo "$PWD"
C:\Users\user name
PS C:\Users\user name>
kayleeFrye_onDeck
источник