PDA

Показать полную графическую версию : [решено] Не выполняется скрипт, а команды по отдельности выполняются


Vadim-85
16-11-2023, 15:14
Доброго времени суток. Скрипт выполняется с ошибкой, если эти команды вводить по отдельности, то всё срабатывает.
$quickaccess = new-object -com shell.application
$results=$QuickAccess.Namespace("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}").Items()
$DeleteDefaultItems = @("Music","Pictures","Videos","Музыка","Изображения","Видео")
($results| where {$_.name -in $DeleteDefaultItems}).InvokeVerb("unpinfromhome")
Ошибка на скрине.
169298

NickM
16-11-2023, 16:26
Очевидно, что по той причине, что не найденная директория в массиве возвращает $null
Можно попробовать такую конструкцию:
$results| Where-Object {$_.name -in $DeleteDefaultItems}| ForEach-Object {$_.InvokeVerb("unpinfromhome")}

Vadim-85
16-11-2023, 17:01
NickM, спасибо, помогли. Ещё и с кодировкой файла script.ps1 были проблемы.




© OSzone.net 2001-2012