2015-08-20 2 views
0

Я новичок в Windows PowerShell. В принципе, перед запуском скрипта в командной строке я хотел бы установить переменную среды $ HOME в другой каталог.

Я не хочу менять переменную $ HOME, которая может повлиять на другое программное обеспечение. Я просто хочу, чтобы это изменение повлияло на скрипт, который я запускаю, или только на оболочку, которую я использую.

ответ

1

Я не рекомендую изменения $ HOME, но если вы должны:

Set-Variable -Name Home -Value C:\Windows -Force 

Это будет воздействовать на оболочки/сессии и каждый скрипт, который работает в этой оболочке. Если вы сделаете это для скрипта, вы можете подумать об установке его после завершения скрипта, например .:

$oldHome = $Home 
Set-Variable -Name Home -Value C:\windows -Force 
... 
Set-Variable -Name Home -Value $oldHome -Force 
+0

Нет ничего похожего на команду cmd.exe 'setlocal'? –

+0

Определенные пользователем переменные будут делать «копирование на запись» в более низких областях. Однако '$ Home' - это встроенная автоматическая переменная, которая отмечена как ReadOnly, поэтому она ведет себя по-другому. –

Смежные вопросы