Variableninhalt soll nur aus Kleinbuchstaben bestehen
Einen wunderschönen guten Morgen! Wir befinden uns in einer Umgebung mit Windows 2003 Servern und Windows XP Clients!
Ich habe gestern ein Skript geschrieben, welches bei Benutzern eine Umgebungsvariable setzt. Das Skript überprüft den Anmeldenamen mit dem der Benutzer sich am System angemeldet hat und setzt dann, je nach Name, eine Umgebungsvariable anders. Mein Skript sieht wie folgt aus:
Das klappt auch alles wunderbar - bis auf eine Kleinigkeit! Beim Anmelden am System ist es ja ziemlich Latte ob Herr Busch als Anmeldenamen jetzt "Busch", "busch" oder gar "BuScH" eingibt. Meinem Skript ist es aber leider nicht egal! Das findet nämlich natürlich den Namen "BuScH" nicht und springt fröhlich zur Marke :problem!
Kann ich den Inhalt der Variable %username% irgendwie auf nur Kleinbuchstaben begrenzen?
Gruß und vielen Dank schonmal,
Sven
[Edit Biber] Codetags. [/Edit]
Ich habe gestern ein Skript geschrieben, welches bei Benutzern eine Umgebungsvariable setzt. Das Skript überprüft den Anmeldenamen mit dem der Benutzer sich am System angemeldet hat und setzt dann, je nach Name, eine Umgebungsvariable anders. Mein Skript sieht wie folgt aus:
::=== Skriptstart ===
:start
@echo off
echo Benutzer wird identifiziert.....
if %username%==busch goto busch
goto problem
:busch
echo Wir haben einen Busch!
echo 5 Sekunden warten.....
echo >1.vbs wscript.sleep 5000
cscript 1.vbs
del 1.vbs
echo Kopieren der SETX.EXE.....
xcopy \\meinefirma.de\netlogon\setx.exe "c:\Dokumente und Einstellungen\%username%\Eigene Dateien\" /Y
c:
cd \
cd "Dokumente und Einstellungen"
cd %username%
cd "Eigene Dateien"
Echo Umgebungsvariablen setzen..... (was die genau machen - keine Ahnung! Is mir auch egal!)
setx M_GIS_CONNECT_PORT 3045
setx MM_GOTO_EQ_IN_SAPGUI "C:\Programme\SAP\FrontEnd\SAPgui\sapshcut -sid=\"PE1\" -clt=290 -u=SAPGOTT2000 -l=DE -gui=\"10.20.30.10\" -command=\"*IE03 RM63E-EQUNR="
setx MM_GOTO_MELD_IN_SAPGUI "C:\Programme\SAP\FrontEnd\SAPgui\sapshcut -sid=\"PE1\" -clt=290 -u=SAPGOTT2000 -l=DE -gui=\"10.20.30.10\" -command=\"*ZPM_MELDZ1 ZPM_MZ1-ZQMNUM="
setx MM_GOTO_TP_IN_SAPGUI "C:\Programme\SAP\FrontEnd\SAPgui\sapshcut -sid=\"PE1\" -clt=290 -u=SAPGOTT2000 -l=DE -gui=\"10.20.30.10\" -command=\"*ILO3 IFLO-TPLNR="
Echo Programm beenden.....
goto end
:problem
echo Es konnte kein Benutzer ermittelt werden - bitte rufen Sie Sven Busch unter der Durchwahl -223 an!
echo >1.vbs wscript.sleep 5000
cscript 1.vbs
del 1.vbs
goto end
:end
::=== Skriptende ===
Das klappt auch alles wunderbar - bis auf eine Kleinigkeit! Beim Anmelden am System ist es ja ziemlich Latte ob Herr Busch als Anmeldenamen jetzt "Busch", "busch" oder gar "BuScH" eingibt. Meinem Skript ist es aber leider nicht egal! Das findet nämlich natürlich den Namen "BuScH" nicht und springt fröhlich zur Marke :problem!
Kann ich den Inhalt der Variable %username% irgendwie auf nur Kleinbuchstaben begrenzen?
Gruß und vielen Dank schonmal,
Sven
[Edit Biber] Codetags. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 144027
Url: https://administrator.de/contentid/144027
Ausgedruckt am: 14.11.2024 um 15:11 Uhr
2 Kommentare
Neuester Kommentar
Moin svenwbusch,
dafür kennt der CMD-Befehl den zusätzlichen Schalter /i (für /isMirBananeObNuGrossOderKlein)..
Dann wird ohne Berücksichtigung der Gross/Kleinschreibung verglichen.
Beispiel.
<code plain>
Grüße
Biber
dafür kennt der CMD-Befehl den zusätzlichen Schalter /i (für /isMirBananeObNuGrossOderKlein)..
Dann wird ohne Berücksichtigung der Gross/Kleinschreibung verglichen.
Beispiel.
<code plain>
set "testusername=GUIDOostertsunami"
D:\temp=)if "%testusername%"=="GuidoOstertsunami" @echo Username %testusername% gilt als GuidoOstertsunami
-- keine Ausgabe, kein echo ---if /i "%testusername%"=="GuidoOstertsunami" @echo Username %testusername% gilt als GuidoOstertsunami
Username GUIDOostertsunami gilt als GuidoOstertsunamiGrüße
Biber