Я хотів би, щоб поточний робочий каталог відображався в командному рядку powershell, як це було б зроблено у (наприклад) CMD-рядку. Як я можу це зробити?
Я хотів би, щоб поточний робочий каталог відображався в командному рядку powershell, як це було б зроблено у (наприклад) CMD-рядку. Як я можу це зробити?
Відповіді:
Перевірте це: http://mshforfun.blogspot.com/2006/05/perfect-prompt-for-windows-powershell.html
В основному, ви можете створити "профіль" файл під назвою Microsoft.PowerShell_profile.ps1, який запускатиметься кожного разу, коли ви запускаєте powerhell.
Залежно від того, для кого ви хочете запустити, існує кілька папок, до яких можна помістити цей файл (пояснено за посиланням вище). Якщо це для вас самих, ви можете створити папку під назвою WindowsPowerShell у папці Мої документи та помістити її туди.
Якщо ви помістите цю функцію у цей файл:
function prompt
{
"PS " + $(get-location) + "> "
}
Це зробить ваше підказки таким чином:
PS C:\directory\path\here>
Є багато інших речей, які ви можете помістити в нього, але це основи.
ПРИМІТКА: перед тим, як використовувати сценарій профілю, вам потрібно буде запустити "set-Executionpolicy Remotesigned" з повноважень - це дозволить запускати неподписані сценарії, написані локально на комп'ютері та підписані сценарії від інших.
$profile.CurrentUserCurrentHost
та перевірте, які $profile.CurrentUserCurrentHost
сценарії профілю (користувача) є дійсними. Різні хости (наприклад, VS проти ISE) мають різне значення$profile.CurrentUserCurrentHost
Спробуйте наступне:
$CurrentDir = $(get-location).Path;
Сьогодні це працює чудово:
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>
(Get-Item -Path ".\").FullName