Ich habe die folgende Batchdatei geschrieben, die alle Ordner, die mit der Nummer 3 beginnen, hervorragend durchsucht und Ordnerberechtigungen auf alle 2010-Unterordner anwendet. Ein Beispiel für die Batchdatei finden Sie unten:
für /D %%f in (D:\Data\3*) mache icacls "%%f\2010" /inheritance:r /grant:r "Domänenadministratoren":(OI)(CI)F
Frage: Wie kann ich dieses Skript verbessern, damit ich die Berechtigungen auf einen bestimmten Ordner unter JEDEM Ordner innerhalb der Ordner anwenden kann, die mit 3 beginnen?
hier ist ein Beispiel für meinen fehlgeschlagenen Versuch:
für /D %%f in (D:\Data\3*) führe icacls "%%f*\spezifischerOrdner" aus /inheritance:r /grant:r "Domänenadministratoren":(OI)(CI)F
Antwort1
Mit folgendem Verzeichnisbaum:
D
Daten
31245 Kunde
beliebiger Ordner
spezifischer Ordner
31246 Kunde
beliebiger Ordner
spezifischer Ordner
Der folgende Code wendet die von Ihnen angegebenen Sicherheitsberechtigungen auf beide Verzeichnisse mit dem Namen „specificfolder“ an.
@echo off
for /D %%f in ("D:\Data\3*") do for /D %%d in ("%%f\*") do icacls "%%d\specificfolder" /inheritance:r /grant:r "Domain Admins":(OI)(CI)F
HINWEIS - Dies verwendet verschachtelte FOR-Schleifen, die von DOS (COMMAND.COM) nicht unterstützt werden. Dies funktioniert jedoch problemlos mit einem NT-System (CMD.EXE).