tomaschku
Goto Top

Batch: Aktuelle Codepage in Variable speichern

Hallo,

Ich möchte gerne mit einem Batch Skript die aktuelle Codepage auslesen und in eine Variable speichern.
Ich möchte nämlich ein Skript schreiben, wo die Codepage verändert wird, aber diese soll am Ende wieder wie am Anfang sein.
Also z.b.:

@echo off
chcp 564
echo Bla. Bla. Bla.
md ...
rd ...
cd C:/...
chcp %vorherige_codepage%
exit

Ich hatte den Ansatz mit folgendem Code:

@echo off
set vorherige_codepage=chcp
chcp 686
echo Bla. Bla.
chcp %vorherige _codepage%

Doch wenn ich es auf diese Weise versuche, funktioniert es nicht, da außer der Zahl auch der Text "Aktive Codepage: 850." ausgegeben wird. (850 ist ein Platzhalter)

Soweit ich weiß, gibt es eine möglichkeit mit FOR-Schleifen, jedoch kenne und mag ich diesen Behfel nicht.
Außerdem kann Codepagenummer 3 bis 4 Stellig sein, was mich nurnoch mehr verwirrt.

Ich hoffe, es gibt dafür eine Lösung oder zumindest ein Programm.

Danke im Voraus!

Liebe Grüße,
tomaschku

Content-ID: 342782

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

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

133417
Lösung 133417 07.07.2017 aktualisiert um 15:28:54 Uhr
Goto Top
@echo off
for /f "tokens=3 delims=. " %%a in ('chcp') do set currentcp=%%a  
echo %currentcp%

Gruß
Kraemer
Lösung Kraemer 07.07.2017 aktualisiert um 15:28:36 Uhr
Goto Top
Moin,

for /f "tokens=3 delims=:. "  %%i in ('chcp') do set vorherige_codepage=%%i  

Gruß

Edit: Da war mal wieder jemand schneller
tomaschku
tomaschku 07.07.2017 um 16:49:11 Uhr
Goto Top
Vielen Dank!
Hat mir sehr geholfen!