wisch
Goto Top

Batch-Variable zu Lower Case (Kleinbuchstaben) wandeln

Hallo.

Ich habe im Batch-Script eine Variable deren Inhalt ich in Kleinbuchstaben wandeln muß, nur wie?

Ich habe es so (ergoogelter Code) versucht, funktioniert aber nicht?

set variable=C:\Inhalt\mit\Großbuchstaben
for %%a in ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i"
            "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r"
            "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z" "Ä=ä"
            "Ö=ö" "Ü=ü") do (
    call set %variable%=%%%variable%:%%~a%%
echo %variable%

Mit diesem Code bekomme ich eine leere Variable zurück.
Wie bekomme ich es hin?

Danke für Eure Hilfe,
WISch

Content-ID: 158384

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

bastla
bastla 11.01.2011 um 15:50:33 Uhr
Goto Top
Hallo WiSch!

Sollte so gehen:
setlocal enabledelayedexpansion
set variable=C:\Inhalt\mit\Großbuchstaben 

for %%a in ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z" "Ä=ä" "Ö=ö" "Ü=ü") do (  
    set "variable=!variable:%%~a!"  
)
echo %variable%
... und mit einem
chcp 1252 >nul
vorneweg klappt's auch mit den Sonderzeichen ...
Wenn Du auch hier nix gegen ein wenig VBS einzuwenden hättest, könntest Du es auch so versuchen:
set variable=C:\Inhalt\mit\Großbuchstaben 

set C=%temp%\Convert2Lower.vbs
>%C% echo WScript.Echo LCase(WScript.Arguments(0))

for /f "delims=" %%i in ('cscript //nologo %C% "%variable%"') do set "variable=%%i"  
echo %variable%
Grüße
bastla
WiSch
WiSch 11.01.2011 um 16:54:08 Uhr
Goto Top
Hallo bastla.

Und wieder mal meinen Dank für die schnelle und funktionierende Hilfe!

Grüße,
WiSch
Boory01
Boory01 15.05.2018 um 09:36:51 Uhr
Goto Top
Hallo Bastla,

ich weiß, der Thread ist schon älter... face-smile

Zuerst einmal, die Lösung hat mir super weiter geholfen - vielen Dank dafür!!!

Allerdings habe ich jetzt folgendes Problem...

Ich übergebe ein und die selbe Variable an mehrere Zeilen (REG ADD "HKLM\SOFTWARE...) und dabei MUSS diese in einigen Zeilen
groß geschrieben werden und dann in zwei Zeilen klein. DANACH möchte ich wieder auf groß umstellen, damit die Variable in der
Folge (etwas komplexere Batch-Datei) wieder in Großbuchstaben übergeben wird.

Wie kann ich nun nach den benötigten Einträgen die vorher gesetzte Änderung wieder rückgängig machen?

Schon mal vielen Dank und viele Grüße - Boory