svenwbusch
Goto Top

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:

::=== 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]

Content-Key: 144027

Url: https://administrator.de/contentid/144027

Ausgedruckt am: 29.03.2024 um 09:03 Uhr

Mitglied: Biber
Biber 02.06.2010 um 10:16:34 Uhr
Goto Top
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>
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 GuidoOstertsunami


Grüße
Biber
Mitglied: svenwbusch
svenwbusch 02.06.2010 um 10:31:39 Uhr
Goto Top
Vielen herzlichen Dank! Et luppt einwandfrei!