Попытка Установить Скрытый Атрибут Для Папок Меню Пуск Windows 10 По Умолчанию

Как говорится в заголовке, я пытаюсь установить скрытый атрибут для всех папок по умолчанию, найденных в меню Пуск. Эти папки можно найти в двух местах: appdata и programdata. Вот файл bat, который я впервые попытался:

takeown /f "C:ProgramDataMicrosoftWindowsStart MenuProgramsMaintenance" /r /d y > NUL 2>&1
icacls "C:ProgramDataMicrosoftWindowsStart MenuProgramsMaintenance" /grant administrators:F /t > NUL 2>&1
takeown /f "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Accessories" /r /d y > NUL 2>&1
icacls "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Accessories" /grant administrators:F /t > NUL 2>&1
takeown /f "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Administrative Tools" /r /d y > NUL 2>&1
icacls "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Administrative Tools" /grant administrators:F /t > NUL 2>&1
takeown /f "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Ease of Access" /r /d y > NUL 2>&1
icacls "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Ease of Access" /grant administrators:F /t > NUL 2>&1
takeown /f "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows System" /r /d y > NUL 2>&1
icacls "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows System" /grant administrators:F /t > NUL 2>&1
attrib +H "C:ProgramDataMicrosoftWindowsStart MenuProgramsMaintenance" > NUL 2>&1
attrib +H "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Accessories" > NUL 2>&1
attrib +H "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Administrative Tools" > NUL 2>&1
attrib +H "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows Ease of Access" > NUL 2>&1
attrib +H "C:ProgramDataMicrosoftWindowsStart MenuProgramsWindows System" > NUL 2>&1

takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsMaintenance" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsMaintenance" /grant administrators:F /t > NUL 2>&1
takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsWindows Accessories" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsWindows Accessories" /grant administrators:F /t > NUL 2>&1
takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsWindows Administrative Tools" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsWindows Administrative Tools" /grant administrators:F /t > NUL 2>&1
takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsWindows Ease of Access" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsWindows Ease of Access" /grant administrators:F /t > NUL 2>&1
takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsWindows PowerShell" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsWindows PowerShell" /grant administrators:F /t > NUL 2>&1
takeown /f "%appdata%MicrosoftWindowsStart MenuProgramsWindows System" /r /d y > NUL 2>&1
icacls "%appdata%MicrosoftWindowsStart MenuProgramsWindows System" /grant administrators:F /t > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsMaintenance" > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsWindows Accessories" > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsWindows Administrative Tools" > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsWindows Ease of Access" > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsWindows PowerShell" > NUL 2>&1
attrib +H "%appdata%MicrosoftWindowsStart MenuProgramsWindows System" > NUL 2>&1

Я проверил, что takown и icacl возвращаются успешно, но единственная папка, с которой это работает, — это папка обслуживания из местоположений programdata и appdata. Остальные папки не только сохраняются, но если я попытаюсь удалить их с помощью проводника, я получу всплывающее сообщение о том, что мне нужен доступ администратора, нажмите ok, и он удаляется. Очевидно, что что-то мешает или перезаключает права собственности на папки??

Затем я предпринял попытку с помощью powershell, используя следующий код:

(Get-Item "Folder Path").Attributes = 'Hidden'

Когда я использую этот код, он успешно работает на папке обслуживания, но любая другая ошибка говорит, что каталог не существует. Чего мне здесь не хватает? Учетная запись является администратором с отключенным UAC, и файл bat использует автоматическое повышение прав для запуска от имени администратора, поэтому я знаю, что права в порядке. Я открыт для cmd / powershell или даже сторонней программы, если я могу запустить его портативный.

1 ответ

  1. Поэтому по какой-то причине при просмотре в проводнике эти папки называются так, как у меня они есть в моем файле bat. Если я открою cmd, зайду в каталог и получу список, у папок будет другое имя. Я изменил свой файл bat, чтобы соответствовать именам папок, найденных через cmd, и все работает так, как должно. Теперь у меня осталось 2 неважных вопроса:

    1. Почему вынос и icacl возвращаются как успешные для папок, которых нет?
    2. Имеет ли это отношение к тем папкам, которые связаны друг с другом, как, например, библиотека?