Bitte um Unterstützung bei folgendem for
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
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)
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
\RootVerzeichnis1
\RootVerzeichnis1\Unterverzeichnis1
\RootVerzeichnis1\Unterverzeichnis2
\RootVerzeichnis2
\RootVerzeichnis2\Unterverzeichnis1
\RootVerzeichnis2\Unterverzeichnis2\nocheinunterverzeichnis1
\RootVerzeichnis2\Unterverzeichnis3\nocheinunterverzeichnis2
\RootVerzeichnis2\Unterverzeichnis4\
\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)
@echo off & setlocal
chcp 1252
Set Source=C:\scripting\20-scripts\Quelldatei.txt
Set LW=R:
if not Exist %LW% net use %LW% \\Server1\Share1
for /f "tokens=1,* delims=\" %%i in ('findstr "\" "%Source%"') do (
echo Hier erfolgt ein Wunder
call :VerzeichnisAnlegen %%i "%%K"
call :GruppeAnlegen
call :BerechtigungSetzen
)
goto :eof
:VerzeichnisAnlegen
set "Verzeichnis=%1"
md %LW%\
goto :eof
:GruppeAnlegen
Set "vGrp=%1"
Set grpPrefix=Grp_Org_
net group %grpPfefix%%vGRP% /domain >NUL
goto :eof
:BerechtigungSetzen
setacl Werte und Parameter hier (nicht das Poblem)
goto :eof
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 92277
Url: https://administrator.de/contentid/92277
Ausgedruckt am: 04.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
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):
Genauso kannst Du es doch auch im Batch handeln, oder übersehe ich etwas?
Grüße
Biber
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):
(=17:52:27 D:\temp=)
>For /f "delims=\ tokens=1-2" %a in (js.txt) do @if "%b"=="" @echo Roots: %a goto Roots
Roots: RootVerzeichnis1 goto Roots
Roots: RootVerzeichnis2 goto Roots
(=17:53:45 D:\temp=)
>For /f "delims=\ tokens=1-3" %a in (js.txt) do @if "%c"=="" if "%b" NEQ "" @echo goto :EinSubdir %a\%b
goto :EinSubdir RootVerzeichnis1\Unterverzeichnis1
goto :EinSubdir RootVerzeichnis1\Unterverzeichnis2
goto :EinSubdir RootVerzeichnis2\Unterverzeichnis1
goto :EinSubdir RootVerzeichnis2\Unterverzeichnis4
(=17:54:33 D:\temp=)
>For /f "delims=\ tokens=1-4" %a in (js.txt) do @if "%d"=="" if "%c" NEQ "" @echo goto :2Subdir %a\%b\%c
goto :2Subdir RootVerzeichnis2\Unterverzeichnis2\nocheinunterverzeichnis1
goto :2Subdir RootVerzeichnis2\Unterverzeichnis3\nocheinunterverzeichnis2
Genauso kannst Du es doch auch im Batch handeln, oder übersehe ich etwas?
Grüße
Biber