Ordner per Batch erstellen aus Textdatei und Berechtigungen
Hallo Zusammen,
ich möchte mehrere Ordner erstellen.
Die Ordnernamen stehen untereinander in einer Textdatei.
Diese soll ausgelesen werden und entsprechende Ordner erstellen.
Anschließend sollen dem jeweiligen Ordner entsprechende Berechtigungen verpasst werden.
Sicherheitsgruppen mit entsprechenden Mitgliedern sind im AD vorhanden.
Also Berechtigungen für Admin + Sicherheitsgruppe x
Jemand eine Idee? Bei ... hab ich nix gefunden
VG & Thx im Voraus!
ich möchte mehrere Ordner erstellen.
Die Ordnernamen stehen untereinander in einer Textdatei.
Diese soll ausgelesen werden und entsprechende Ordner erstellen.
Anschließend sollen dem jeweiligen Ordner entsprechende Berechtigungen verpasst werden.
Sicherheitsgruppen mit entsprechenden Mitgliedern sind im AD vorhanden.
Also Berechtigungen für Admin + Sicherheitsgruppe x
Jemand eine Idee? Bei ... hab ich nix gefunden
VG & Thx im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 162841
Url: https://administrator.de/forum/ordner-per-batch-erstellen-aus-textdatei-und-berechtigungen-162841.html
Ausgedruckt am: 09.04.2025 um 11:04 Uhr
10 Kommentare
Neuester Kommentar
Hallo Xaero1982!
"
"
"
"
Grüße
bastla
P.S.:

Tatsächlich hast Du weder ein Betriebssystem (ab Vista gibt es "
"
usebackq
" erlaubt die Verwendung von Dateinamen in Anführungszeichen (würden ansonsten als zu zerlegender Text interpretiert)"
delims=
" gibt das oder die Trennzeichen zum Zerlegen der jeweiligen Zeile an - wenn, so wie hier, nach dem "=" nix steht, wird auch nicht zerlegt, sondern die Zeile "am Stück" in die Laufvariable übernommen (wichtig, wenn zB der Ordnername Leerzeichen enthielte, da diese als Default-Trennzeichen gelten)"
2>nul
" unterdrückt die Ausgabe von Fehlermeldungen (hier für den Fall, dass der Ordner bereits existierte)"
echo j|
" gibt die Antwort auf die Frage, ob Du denn tatsächlich sicher wärst, dass die Berechtigungen neu gesetzt werden sollen, gleich vorwegGrüße
bastla
P.S.:
PS: War das Ironie mit den ausführlichen Informationen?! 
Wenn Du fragen musst ... Tatsächlich hast Du weder ein Betriebssystem (ab Vista gibt es "
icacls
") genannt, noch den Inhalt der Textdatei näher beschrieben (zB, ob vollständige Pfade oder für jeden Ordner eine oder mehrere zu berechtigende Gruppen enthalten sind, ...).
Hallo Xaero1982!

Wenn es zu jedem Ordner nur eine Gruppe (durch Komma getrennt - und bitte ohne Leerzeichen um das Komma herum) gibt, dann etwa so:
Wenn Du auch noch unterschiedliche Berechtigungen zu vergeben hättest, könntest Du gleich
als Beispiel daher
in die Textdatei schreiben und die Rechte-Angabe in der Zeile 6 weg lassen:
Grüße
bastla
Also was ich noch bräuchte wäre die Möglichkeit die entsprechende Sicherheitsgruppe mit in der Textdatei mit Anzugeben.
Hatte ich eigentlich schon erwartet ... Wenn es zu jedem Ordner nur eine Gruppe (durch Komma getrennt - und bitte ohne Leerzeichen um das Komma herum) gibt, dann etwa so:
@echo off & setlocal
set "Liste=D:\Ordnerliste.txt"
for /f "usebackq tokens=1-2 delims=," %%i in ("%Liste%") do (
md "%%i" 2>nul
echo j|cacls "%%i" /G Administratoren:F %%j:C
)
Ordnername,Sicherheitsgruppe:Berechtigung
Testordner,Sicherheitsgruppe1:C
echo j|cacls "%%i" /G Administratoren:F %%j
bastla
Hallo Xaero1982!
Zum "
"
; außerdem weiß er, dass es 2 Teile geben soll - es müssen daher auch 2 Variablen verwendet werden ...
Grüße
bastla
Zum "
usebackq
" sage ich diesmal nix ... "
tokens=1-2
" legt fest, dass die ersten beiden Teilstücke (entstehen durch die Trennung anhand es "delimiters" Komma) der Zeile verwendet werden sollen (Default wäre nur 1. Teil)Woher nimmt der sich das "%%j"?
Der kennt das Alphabet und weiß daher, was nach "i" kommt Grüße
bastla