28

Как изменить домашний каталог по умолчанию на «C:\Users\khornsby» при каждом открытии powershell?

Я использую Windows 7. Ниже информация о состоянии моей окружающей среды.

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS P:\> cd ~
PS P:\> echo $HOME
P:\
PS P:\> HOME="C:\Users\khornsby"
The term 'HOME=C:\Users\khornsby' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:25
+ HOME="C:\Users\khornsby" 

PS P:\> Set-Variable HOME "C:\Users\khornsby"
Set-Variable : Cannot overwrite variable HOME because it is read-only or
constant.
At line:1 char:13
+ Set-Variable 

PS P:\> dir env:home*

Name                           Value
----                           -----
HOMEPATH                       \
HOMEDRIVE                      P:
HOMESHARE                      \\fileserv\khornsby$


PS P:\>

5 ответов5

27

По умолчанию эта переменная доступна только для чтения, но ее можно удалить, установив ключ -Force в Remove-Variable. Чтобы сделать ваши изменения постоянными между сеансами, вы можете создать файл профиля, который очень похож на .bashrc (для bash в Linux), за исключением Powershell.

В вашей папке «Документы» (обычно это C:\Users\YOUR_USERNAME_HERE\documents) для вашей учетной записи пользователя, создайте папку WindowsPowerShell (с таким названием), если она еще не существует. Внутри папки создайте текстовый файл с именем profile.ps1 (убедитесь, что это не profile.ps1.txt).

Внутри файла поместите все, что хотите, чтобы оно выполнялось при открытии Powershell.

пример:

Write-Host "Hi John, welcome back!"
Remove-Variable -Force HOME
Set-Variable HOME "C:\Users\khornsby"

результат:

альтернативный текст

9

Чтобы решить проблему @Weeble по поводу ярлыка ~ :

$HOMEDRIVE = "C:\"
$HOMEPATH = "Users\" + $env:username

# Set and force overwrite of the $HOME variable
Set-Variable HOME "$HOMEDRIVE$HOMEPATH" -Force

# Set the "~" shortcut value for the FileSystem provider
(get-psprovider 'FileSystem').Home = $HOMEDRIVE + $HOMEPATH

Смотрите здесь для различия между ~ и $ HOME

5

Еще проще ... открыть расширенные настройки системы ...

 C:\> systempropertiesadvanced

Добавьте новую системную переменную с именем HOME и укажите путь к вашему профилю.

Перезапустите проводник или выйдите из системы и вернитесь ...

PS C:\> $Env:home 
--- 
2

Вы можете использовать help about_profiles чтобы увидеть более подробную информацию об этом. Не забудьте подписать свой сценарий.

2

Чтобы изменить из Windows, попробуйте следующее:

  • Прикрепите PowerShell к панели задач.

  • Щелкните правой кнопкой мыши значок PowerShell на панели задач.

  • Щелкните правой кнопкой мыши «Windows PowerShell» и выберите «Свойства».

  • В окне «Свойства» перейдите на вкладку «Ярлык» и измените поле «Начать с:» на нужный начальный каталог. (Пример: C:\Users\username\Desktop).

  • Нажмите «ОК».

  • Запустите PowerShell из панели задач.

    Панель задач

    Окно свойств

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