Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ordner per Batch erstellen aus Textdatei und Berechtigungen

Frage Entwicklung Batch & Shell

Mitglied: Xaero1982

Xaero1982 (Level 4) - Jetzt verbinden

17.03.2011 um 11:25 Uhr, 10191 Aufrufe, 10 Kommentare

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!
Mitglied: bastla
17.03.2011 um 11:30 Uhr
Hallo Xaero1982!

Aufgrund Deiner ausführlichen Informationen mal für Windows 2000 (ungetestet):
01.
@echo off & setlocal 
02.
set "Liste=D:\Ordnerliste.txt" 
03.
 
04.
for /f "usebackq delims=" %%i in ("%Liste%") do ( 
05.
    md "%%i" 2>nul 
06.
    echo j|cacls "%%i" /G Administratoren:F GruppeX:C 
07.
)
Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
17.03.2011 um 17:02 Uhr
Hi Bastla,

Funktioniert wie gewünscht ... vielen Dank

Erklär mir doch aber mal bitte wofür das :

  • "usebackq delims"
  • 2>nul
  • Echo j |

steht?!

Wills ja auch verstehen ...

VG & Thx
PS: War das Ironie mit den ausführlichen Informationen?!
Bitte warten ..
Mitglied: bastla
17.03.2011 um 17:09 Uhr
Hallo Xaero1982!

"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 vorweg

Grüß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, ...).
Bitte warten ..
Mitglied: Xaero1982
17.03.2011 um 17:16 Uhr
Hi Bastler,

super vielen Dank für die Erklärungen!

VG & Thx

PS: Huch, da hast du natürlich recht
Server 2008 R2 betrifft das ...

Stimmt, aber ich kann ja vor dem %%i bei md %%i den Pfad angeben oder? Also z.b. G:\
Ansonsten soll erst mal jeweils nur eine Gruppe Zugriff bekommen ... ggf. einzelne Nutzer, aber das muss ich von Hand nachreichen, weil das noch nicht so eindeutig ist ...

Ach ja icacls ... bin ich nicht draus schlau geworden ...
Bitte warten ..
Mitglied: bastla
17.03.2011 um 17:22 Uhr
Hallo Xaero1982!
ich kann ja vor dem %%i bei md %%i den Pfad angeben oder? Also z.b. G:\
Ja, kannst Du; alternativ auch vorweg per "pushd" in den jeweilgen Ordner wechseln (und danach mit "popd" wieder zurück) - kommt auch darauf an, was ev sonst noch so alles passieren soll ...

Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
18.03.2011 um 14:58 Uhr
HI,

also im produktiven Einsatz zeigt sich nun, dass es doch nicht sonderlich effizient ist das so zu machen

Also was ich noch bräuchte wäre die Möglichkeit die entsprechende Sicherheitsgruppe mit in der Textdatei mit Anzugeben.

Z.b.

Ordnername,Sicherheitsgruppe
Ordnername2,Sicherheitsgruppe2

Weil ja jeder Ordner andere Berechtigungen hat + Administrator

Hast du dazu auch noch eine Idee?

VG & Thx
Bitte warten ..
Mitglied: bastla
18.03.2011 um 16:04 Uhr
Hallo Xaero1982!
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:
01.
@echo off & setlocal 
02.
set "Liste=D:\Ordnerliste.txt" 
03.
 
04.
for /f "usebackq tokens=1-2 delims=," %%i in ("%Liste%") do ( 
05.
    md "%%i" 2>nul 
06.
    echo j|cacls "%%i" /G Administratoren:F %%j:C 
07.
)
Wenn Du auch noch unterschiedliche Berechtigungen zu vergeben hättest, könntest Du gleich
Ordnername,Sicherheitsgruppe:Berechtigung
als Beispiel daher
Testordner,Sicherheitsgruppe1:C
in die Textdatei schreiben und die Rechte-Angabe in der Zeile 6 weg lassen:
echo j|cacls "%%i" /G Administratoren:F %%j
Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
18.03.2011 um 17:40 Uhr
Hi Bastler,

hach du bist genial

Sieht gut aus, bin jetzt aber nicht mehr vor Ort, aber ich denke genau das entspricht den Anforderungen die ich habe

Wobei ich mich frage: Woher nimmt der sich das "%%j"?
Wofür steht nun das "usebackq tokens=1-2"?

Tausend Dank!

VG & Thx
Bitte warten ..
Mitglied: bastla
18.03.2011 um 17:48 Uhr
Hallo Xaero1982!

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 ; außerdem weiß er, dass es 2 Teile geben soll - es müssen daher auch 2 Variablen verwendet werden ...

Grüße
bastla
Bitte warten ..
Mitglied: Xaero1982
18.03.2011 um 19:10 Uhr
Hi Bastla

Oki doki ... langsam kommt Licht ins Dunkel

Vielen Dank!

VG
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Ordner erstellen und verschieben
gelöst Frage von FromeonlyBatch & Shell6 Kommentare

Hallo Leute, ich habe ein kleines Problem beim erstellen einer Batch. Ziel der Batch soll es sein, dass sie ...

Batch & Shell
Batch, die Ordner erstellt und Berechtigungen setzt
gelöst Frage von lordofremixesBatch & Shell12 Kommentare

Hallo zusammen, ich brauche eine Batch, die folgendes macht: - Auf C:\ einen Ordner Beispielordner erstellen (C:\Beispielordner) - Diesen ...

Batch & Shell
Textdatei im unbekannten Ordner erstellen mit Namen des Ordners als Inhalt
Frage von ed19dyBatch & Shell3 Kommentare

Hallo zusammen, solangsam beiße ich mir die Zähne an folgender Aufgabe aus: Auf dem Laufwerk "C" ("c:\Ordner") werden zufällig ...

Batch & Shell
Via Batch Ordner und Unterordner erstellen
gelöst Frage von supisupperBatch & Shell16 Kommentare

Hallo zusammen, ich habe auf ein Netzlaufwerk 2650 Ordner (Haupt und Unterordner zusammen) die ich in den letzten 10 ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 StundeWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 3 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...