CMD: icacls in for-Schleife
Hallo,
Was ich habe:
Einen übergeordneten Ordner mit ca. 100 Projektverzeichnisen drin.
Was ich will:
In jedem Projektverzeichnis einen Unterordner names Labor anlegen und der Gruppe Labormitarbeiter Schreibrechte zuweisen.
Das Ganze per CMD automatisieren.
Meine Testumgebung liegt unter D:\Test. Darin befinden sich vier Unterordner (=Projektverzeichnise), in welchen ein weiterer Unterordner Labor angelegt wurde. Nun muss ich noch der Gruppe Labormitarbeiter Schreibrechte zuweisen. Und da hapert es.
Mein Codeschnipsel:
Die Fehlermeldung die erscheint ist Folgende:
"(OI)(w" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Koischerweise funktioniert der icacls Befehl aber, wenn ich nur den Pfad als Argument übergebe. Dann listet er brav alle Berechtigungen auf.
Hat jemand eine Idee, was ich da falsch mache?
Danke!
Schöne Grüße
Tim
Was ich habe:
Einen übergeordneten Ordner mit ca. 100 Projektverzeichnisen drin.
Was ich will:
In jedem Projektverzeichnis einen Unterordner names Labor anlegen und der Gruppe Labormitarbeiter Schreibrechte zuweisen.
Das Ganze per CMD automatisieren.
Meine Testumgebung liegt unter D:\Test. Darin befinden sich vier Unterordner (=Projektverzeichnise), in welchen ein weiterer Unterordner Labor angelegt wurde. Nun muss ich noch der Gruppe Labormitarbeiter Schreibrechte zuweisen. Und da hapert es.
Mein Codeschnipsel:
@echo off
set rootdir=D:
set projekt=%rootdir%\Test
for /d %%i in (%projekt%\*) do (
echo %%i
mkdir %%i\Labor
echo "Diese Unterverzeichnise sind in %%i vorhanden:"
dir %%i /A / B /P
icacls %%i\Labor /grant:r <Domäne>\Labormitarbeiter:(CI)(OI)(w,rx)
echo Berechtigungen
icacls %%i\Labor
)
set localusersdir=
set rootdir=
pause
Die Fehlermeldung die erscheint ist Folgende:
"(OI)(w" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Koischerweise funktioniert der icacls Befehl aber, wenn ich nur den Pfad als Argument übergebe. Dann listet er brav alle Berechtigungen auf.
Hat jemand eine Idee, was ich da falsch mache?
Danke!
Schöne Grüße
Tim
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319137
Url: https://administrator.de/forum/cmd-icacls-in-for-schleife-319137.html
Ausgedruckt am: 07.04.2025 um 22:04 Uhr
2 Kommentare
Neuester Kommentar

Die Klammern für die Propagation und Inheritance im ICACLS Befehl mag der Interpreter hier nicht da in For-Schleife, kapsele sie in Anführungszeichen
Und die ganzen Pfade wie
%%i\Labor
etc.
solltest du auch in Anführungszeichen setzen. Denn wenn du mal Leerzeichen im Pfad hast wird das so wie es jetzt dort steht schief gehen.
Gruß
"<Domäne>\Labormitarbeiter:(CI)(OI)(w,rx)"
Und die ganzen Pfade wie
%%i\Labor
etc.
solltest du auch in Anführungszeichen setzen. Denn wenn du mal Leerzeichen im Pfad hast wird das so wie es jetzt dort steht schief gehen.
Gruß