19

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

4 ответа4

19

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

8

Просто добавьте следующее в файл profile.ps1 (в папке « Мои документы \WindowsPowerShell »):

function prompt { "$pwd>" }
5

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

$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>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .