Как можно показать текущий каталог в 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 - это позволит вам запускать неподписанные сценарии, написанные локально на компьютере, и подписанные сценарии от других.


Кажется, не работает надстройка Visual Studio :( Ну хорошо.
Билли ONeal

@BillyONeal: проверьте значение $profile.CurrentUserCurrentHostи $profile.CurrentUserCurrentHostпосмотрите, какие сценарии профиля (пользователя) являются действительными. Разные хосты (например, VS против ISE) имеют разное значение для$profile.CurrentUserCurrentHost
Ричард

9

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

подсказка функции {"$ pwd>"}

6

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

$CurrentDir = $(get-location).Path;

Приведенный выше код также является способом определения местоположения.
Нароттам Гойал

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>

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.