Это в среде Windows. У меня проблема с томом NAS, когда администратор потерял весь доступ к различным папкам и файлам. Я могу найти поврежденные папки и файлы и использую пакетные файлы для предоставления права собственности учетной записи администратора, а затем предоставления доступа, но у меня есть проблема с вложенными папками. Так что, если у нас есть -

«h:\folder1\folder2\folder3\folder4», где КАЖДАЯ папка недоступна или не принадлежит администратору

Я перечисляю папки в текстовый файл, а затем редактирую, чтобы запустить команды для предоставления права собственности на пакетный файл, таким образом -

fileacl h:\folder1 /O Администратор:F
fileacl h:\folder1\folder2 /O Администратор:F
fileacl h:\folder1\folder2\folder3 /O Администратор:F
fileacl h:\folder1\folder2\folder3\folder4 /O Администратор:F

затем я редактирую, чтобы создать следующее, чтобы предоставить доступ -
fileacl h:\folder1 /G Администратор:F
fileacl h:\folder1\folder2 /G Администратор:F
fileacl h:\folder1\folder2\folder3 /G Администратор:F
fileacl h:\folder1\folder2\folder3\folder4 /G Администратор:F

Проблема в том, что будет исправлена только папка 1, так как у меня не будет доступа, пока не будет завершена вторая команда, чтобы коснуться папки 2 То же самое для 3 и 4.

Мой вопрос - возможно ли выполнить две команды в строке списка созданного текстового файла, чтобы он выполнял обе команды для folder1, прежде чем перейти к папке 2 и так далее? Копирование и организация всего этого вручную заняло бы бесконечно, поскольку у меня есть несколько тысяч вложенных папок. Цикл FOR в командной строке DOS/CMD?
Спасибо!

2 ответа2

0

Попробуйте использовать

icacls h:\ /grant Администратор:(CI)(OI)F

Вышеуказанное должно предоставить администратору полный доступ к каждому файлу и папке в папке H:\ и всем подкаталогам. И он также установит "Object Inherit" и "Container Inherit", поэтому разрешение должно распространяться на все папки ниже него.

Прежде чем делать это, запустите его без /t (перейдите ко всем подкаталогам) и, возможно, только для определенной папки.

например.

icacls h:\folder1 /grant Администратор:F

Это должно предоставить администратору полный доступ только к «folder1», но не позволяет наследовать разрешение для папок, расположенных под ними.

Надеюсь это поможет

0

Вы имеете в виду объединение двух команд с помощью оператора && ? Eq. fileacl h:\folder1 /O Administrator:F && fileacl h:\folder1 /G Administrator:F

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .