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

Bitte um Unterstützung bei folgendem for

Mitglied: jschneider

jschneider (Level 1) - Jetzt verbinden

17.07.2008, aktualisiert 18.07.2008, 2590 Aufrufe, 2 Kommentare

Hallo,

ich stehe irgendwie auf dem Schlauch


ich habe eine Quelldatei auf Basis derer Inhalte ich Verzeichnisse und die dazugehörigen Gruppen im AD anlegen möchte und darüber hinaus diese Verzeichnise gleich auf die angelegte Gruppe berechtigen möchte. Soweit erstmal zum Hintergrund


meine Quelldatei hat z.B. folgende Inhalte

01.
\RootVerzeichnis1 
02.
\RootVerzeichnis1\Unterverzeichnis1 
03.
\RootVerzeichnis1\Unterverzeichnis2 
04.
 
05.
\RootVerzeichnis2 
06.
\RootVerzeichnis2\Unterverzeichnis1 
07.
\RootVerzeichnis2\Unterverzeichnis2\nocheinunterverzeichnis1 
08.
\RootVerzeichnis2\Unterverzeichnis3\nocheinunterverzeichnis2 
09.
\RootVerzeichnis2\Unterverzeichnis4\ 
10.
\RootVerzeichnis2\Unterverzeichnis5\nocheinunterverzeichnis1\nocheinunterverzeichnis3
usw.

mehr als 4 Ebenen wird es nicht geben

ich möchte jetzt also jede Zeile auseinandernehmen und die Werte zwischen den "\" verarbeiten ABER ich weiss halt nicht wieviele es je Zeile sind (von 1 -4 Werte) Das muss aber abgefangen werden. das ist eigentlich mein größtest Problem

Das Verzeichnis anlegen würde schon gehen, in dem ich den ganzen String so einlese, aber ich möchte auch die Gruppen anlegen die dann so heissen sollen:


Grp_Org_RootVerzeichnis1
Grp_Org_RootVerzeichnis1_Unterverzeichnis1
Grp_Org_RootVerzeichnis2_Unterverzeichnis5_nocheinunterverzeichnis1_nocheinunterverzeichnis3


was ich bsiher habe (allerdings früheste Alpha)


01.
 
02.
@echo off & setlocal 
03.
chcp 1252 
04.
 
05.
Set Source=C:\scripting\20-scripts\Quelldatei.txt 
06.
Set LW=R: 
07.
 
08.
 
09.
if not Exist %LW% net use %LW% \\Server1\Share1 
10.
 
11.
 
12.
 
13.
for /f "tokens=1,* delims=\" %%i in ('findstr "\" "%Source%"') do ( 
14.
   echo Hier erfolgt ein Wunder 
15.
   call :VerzeichnisAnlegen %%i "%%K" 
16.
   call :GruppeAnlegen 
17.
   call :BerechtigungSetzen 
18.
19.
goto :eof 
20.
 
21.
:VerzeichnisAnlegen 
22.
set "Verzeichnis=%1" 
23.
md %LW%\ 
24.
 
25.
goto :eof 
26.
 
27.
:GruppeAnlegen 
28.
Set "vGrp=%1" 
29.
Set grpPrefix=Grp_Org_ 
30.
net group %grpPfefix%%vGRP% /domain >NUL 
31.
goto :eof 
32.
 
33.
:BerechtigungSetzen 
34.
setacl Werte und Parameter hier (nicht das Poblem) 
35.
goto :eof 
36.
 
37.
 
Mitglied: Biber
17.07.2008 um 17:56 Uhr
Moin jschneider,

ich weiss nich'...
Mag sein, dass ich zu einfach gestrickt bin für den harten Admin-Alltag, aber ich würde es mir nicht so schwer machen.

Wenn ich Deine Beispielsätze bei mir in eine Datei js.txt packe, dann kann ich es jeweils so trennen (Beispiel am CMD-Prompt, mein Prompt sieht so: ">" aus):
01.
(=17:52:27  D:\temp=) 
02.
>For /f "delims=\ tokens=1-2" %a in (js.txt) do @if "%b"=="" @echo Roots: %a goto Roots 
03.
Roots: RootVerzeichnis1 goto Roots 
04.
Roots: RootVerzeichnis2 goto Roots 
05.
 
06.
(=17:53:45  D:\temp=) 
07.
>For /f "delims=\ tokens=1-3" %a in (js.txt) do @if "%c"=="" if "%b" NEQ "" @echo goto :EinSubdir %a\%b 
08.
goto :EinSubdir RootVerzeichnis1\Unterverzeichnis1 
09.
goto :EinSubdir RootVerzeichnis1\Unterverzeichnis2 
10.
goto :EinSubdir RootVerzeichnis2\Unterverzeichnis1 
11.
goto :EinSubdir RootVerzeichnis2\Unterverzeichnis4 
12.
 
13.
(=17:54:33  D:\temp=) 
14.
>For /f "delims=\ tokens=1-4" %a in (js.txt) do @if "%d"=="" if "%c" NEQ "" @echo goto :2Subdir %a\%b\%c 
15.
goto :2Subdir RootVerzeichnis2\Unterverzeichnis2\nocheinunterverzeichnis1 
16.
goto :2Subdir RootVerzeichnis2\Unterverzeichnis3\nocheinunterverzeichnis2
Genauso kannst Du es doch auch im Batch handeln, oder übersehe ich etwas?

Grüße
Biber
Bitte warten ..
Mitglied: jschneider
18.07.2008 um 11:35 Uhr
Hallo Biber,

mag auch sein, dass ich immer zu kompliziert denke und alles (ausser Brotschneiden) viel einfacher geht als ich denke.

ich habe gestern noch mal einen anderen Ansatz ausprobiert

und zwar zähle ich einfach die dinger nicht, sondern nutze sie wie sie sind

den String
01.
\\RootVerzeichnis2\\Unterverzeichnis2\\nocheinunterverzeichnis1 
nehme ich einfach wie er ist und nutze ihn einmal (in einer Funktion) als Pfad .. da muss ich ja nicht mehr viel mit anstellen

und einmal per
01.
set vGrp=!vGRP:\\=_!
ersetze ich die "\" einfach durch ein "_" *brustschwell*


damit habe ich alles was ich will
Bitte warten ..
Ähnliche Inhalte
Weiterbildung

Unterstützung bei Gehaltsverhandlungen

gelöst Frage von 133566Weiterbildung24 Kommentare

Hallo liebe Community Ich verfolge eure Seite bereits seit 2007 als ich meine Ausbildung zum Anwendungsentwickler begonnen habe. Einige ...

JavaScript

LocalStorage für folgende Funktion

Frage von xsto123JavaScript7 Kommentare

Hallo, ich bin Javascript Anfänger und habe folgende Funktion geschrieben mit deren Hilfe ich mehrere <div class="price-box"> per Button-Click ...

Batch & Shell

Protokollierung für folgendes Skript in Powershell

gelöst Frage von pixel0815Batch & Shell8 Kommentare

Moin zusammen, kann mir jemand sagen wie ich hier eine CSV Datei erstellen kann mit dem Skript? Ich würde ...

JavaScript

Wie funktioniert der Aufruf für folgende Funktion?

gelöst Frage von PeacerJavaScript4 Kommentare

Hallo Zusammen, habe hier eine HTML Seite und möchte wissen wie folgender Funktionsaufruf funktioniert: Folgende JS Dateien wurden im ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 8 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 12 StundenCPU, RAM, Mainboards5 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 1 TagRouter & Routing7 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...