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-Key: 342782

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

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 133417
Solution 133417 Jul 07, 2017 updated at 13:28:54 (UTC)
Goto Top
@echo off
for /f "tokens=3 delims=. " %%a in ('chcp') do set currentcp=%%a  
echo %currentcp%

Gruß
Member: Kraemer
Solution Kraemer Jul 07, 2017 updated at 13:28:36 (UTC)
Goto Top
Moin,

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

Gruß

Edit: Da war mal wieder jemand schneller
Member: tomaschku
tomaschku Jul 07, 2017 at 14:49:11 (UTC)
Goto Top
Vielen Dank!
Hat mir sehr geholfen!