Problem mit Userabfrage in einem CMD-Script
Hallo erstmal,
ich bin mit Scripte erstellen noch nicht all zu fit und habe nun ein Problem mit der Variable %Username%
Wenn ich folgendes eingebe:
If "%Username%"=="Testuser" net use X <Pfad>
funktioniert das ganze ohne Probleme, ich brauche aber folgendes
If "%Username:~0,3%"=="Tes" net use x <Pfad>
geht nichts mehr!
Wo ist mein Denkfehler?
Hintergrund ist eine Schule, PCs werden von mehreren Klasen genutzt und je nach Klasse soll ein anderes Netzlaufwerk gemapt werden, der Lehrer soll immer auf alle Zugriff haben.
Dort gibt es keine Domain, sondern einen Novellserver, keine Ahnung wie das dort funktioniert
Die Usernamen habe ich mir dann als Beispiel so gedacht 12a01 für die Klase 12a und den PC 01 usw.
Durch den Zusatz :~0,3 werden ja nur die ersten 3 Felder ausgelesen, also müßte das da oben doch eigentlich funktionieren.
Denn wenn ich echo %username:~0,3% eingebe bekomme ich dann auch die ersten drei Buchstaben des Usernamens angezeigt!
Wenn ihr andere Vorschläge habt das zu handhaben, dann immer her damit.
Gruß aus dem Fichtelgebirge
Gerald
ich bin mit Scripte erstellen noch nicht all zu fit und habe nun ein Problem mit der Variable %Username%
Wenn ich folgendes eingebe:
If "%Username%"=="Testuser" net use X <Pfad>
funktioniert das ganze ohne Probleme, ich brauche aber folgendes
If "%Username:~0,3%"=="Tes" net use x <Pfad>
geht nichts mehr!
Wo ist mein Denkfehler?
Hintergrund ist eine Schule, PCs werden von mehreren Klasen genutzt und je nach Klasse soll ein anderes Netzlaufwerk gemapt werden, der Lehrer soll immer auf alle Zugriff haben.
Dort gibt es keine Domain, sondern einen Novellserver, keine Ahnung wie das dort funktioniert
Die Usernamen habe ich mir dann als Beispiel so gedacht 12a01 für die Klase 12a und den PC 01 usw.
Durch den Zusatz :~0,3 werden ja nur die ersten 3 Felder ausgelesen, also müßte das da oben doch eigentlich funktionieren.
Denn wenn ich echo %username:~0,3% eingebe bekomme ich dann auch die ersten drei Buchstaben des Usernamens angezeigt!
Wenn ihr andere Vorschläge habt das zu handhaben, dann immer her damit.
Gruß aus dem Fichtelgebirge
Gerald
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93758
Url: https://administrator.de/contentid/93758
Ausgedruckt am: 25.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Jerry95,
einen Denkfehler sehe ich auch nicht bei Dir, eigentlich sollte es fliegen.
Eventuell passiert nichts wegen des fehlenden Doppelpunkts hinter dem Netzlaufwerkbuchstaben. Oder das fehlende Ignorieren von Klein/Grossschreibung führt zum Scheitern des Vergleichs.
Sonst poste bitte mal den Komplettschnipsel - dann liegt ein anderer Tippfehler vor.
Grüße
Biber
einen Denkfehler sehe ich auch nicht bei Dir, eigentlich sollte es fliegen.
Eventuell passiert nichts wegen des fehlenden Doppelpunkts hinter dem Netzlaufwerkbuchstaben. Oder das fehlende Ignorieren von Klein/Grossschreibung führt zum Scheitern des Vergleichs.
If /i "%username:~0,3%"=="12a" net use x: [whatever]
--> sollte zum gewünschten Ergebnis führen.Sonst poste bitte mal den Komplettschnipsel - dann liegt ein anderer Tippfehler vor.
Grüße
Biber
Servus,
So...
funktioniert dein Schnippsel. Frag mich nicht warum ;-(
..denn
Gruß
So...
set abc %Username:~0,3%
if /i %abc%==Ger echo [%Username%] %abc%
..denn
if /i "%Username:~0,3"==ger echo %Username%
funktioniert auch nicht....Gruß