Я пытался, но не нашел ответа:
Как вернуть текущего пользователя домой в Windows PowerShell?
В Windows это выглядит как $ env: userprofile или $ env: homepath без диска.
dir env: | where value -match admin Name Value ---- ----- APPDATA C:\Users\admin\AppData\Roaming HOMEPATH \Users\admin LOCALAPPDATA C:\Users\admin\AppData\Local OneDrive C:\Users\admin\OneDrive Path C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Wind... PSModulePath C:\Users\admin\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerSh... TEMP C:\Users\admin\AppData\Local\Temp TMP C:\Users\admin\AppData\Local\Temp USERNAME admin USERPROFILE C:\Users\admin
Системные переменные (те, которые вы бы указали в Batch как %varname%), доступны в PowerShell как $env:varname. Вы можете перечислить системные переменные, которые видны для вашего сеанса PowerShell, с помощью Get-ChildItem -Path Env:.
%varname%
$env:varname
Get-ChildItem -Path Env:
Попробуйте это:
[Environment]::ExpandEnvironmentVariables("%UserProfile%")