Я использую PowerShell под Win10-64 бит. Я ввожу путь в аргументе -path в функции «Set-location». Моя переменная пути - это свойство из System.Array, которое является «$ list.name». В цикле я периодически называю ". \ $ List.name [$ i]" как путь, но мне не удалось. Я хочу правильно вызвать вложенную переменную.
- код для отображения переменной
PS C:\Users\admin\Documents\Rainmeter\Skins> $list
label name link sort
----- ---- ---- ----
1 chrome C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 1
1 matlab C:\Program Files\MATLAB\R2019a\bin\matlab.exe 3
PS C:\Users\admin\Documents\Rainmeter\Skins> $i=0
- код для отображения ошибки
PS C:\Users\admin\Documents\Rainmeter\Skins> Set-Location -Path .\$list.name[$i]
Set-Location : could not find path “.\ .name[0]”,the path is not existed.
+ Set-Location -Path .\$list.name[0]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (.\ .name[0]:String) [Set-Location], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
- Я попытался добавить двойную кавычку, но она не удалась. Как показано ниже,
Set-Location -Path ".\$list.name[$i]"
- Я должен назвать другую переменную, чтобы заменить вложенную переменную. Работает, но не красиво. Как показано ниже,
$file = $list.name[$i]
Set-Location -Path $file
Я хочу правильно вызвать вложенную переменную в параметре -path в цикле и узнать причину ошибки.
Спасибо за любую помощь.