Batch schreibt keine Umlaute (äöü)
Hallo,
ich bins mal wieder und ich habe wieder ein Batch-Problem.
Ich schreibe gerade eine Suche die den Namen von Imdb ausliest. Den Link übergebe ich mit der Imdb Nummer und ich bekomme eine Antwort von der Seite. Aus dem HTML Text muss ich eine Zeile auslesen und das funktioniert auch ganz gut. Nur wenn ich dann einige Zeichen ersetze und sie wieder in eine txt-Datei schreibe sind die Umlaute wie z.B. "äöü" weg.
Hier mal meine bat-Datei:
Ich würde mich freuen, wen mir da wieder jemand helfen könnte.
Vielen Dank
ich bins mal wieder und ich habe wieder ein Batch-Problem.
Ich schreibe gerade eine Suche die den Namen von Imdb ausliest. Den Link übergebe ich mit der Imdb Nummer und ich bekomme eine Antwort von der Seite. Aus dem HTML Text muss ich eine Zeile auslesen und das funktioniert auch ganz gut. Nur wenn ich dann einige Zeichen ersetze und sie wieder in eine txt-Datei schreibe sind die Umlaute wie z.B. "äöü" weg.
Hier mal meine bat-Datei:
@ECHO OFF
set IMDB=%1
echo %IMDB%
pause
D:\test-ortner\curl.exe -d -i http://www.imdb.com/title/%IMDB%/ >D:\test-ortner\imdb.txt
pause
C:\Windows\System32\findstr.exe /L /C:"og:title" D:\test-ortner\imdb.txt>D:\test-ortner\imdb-suche.txt
FOR /F "tokens=1,2 delims=<" %%A IN ('c:\windows\System32\findstr.exe /V /C:"soritose" D:\test-ortner\imdb-suche.txt') DO (
set IMDB-SUCHE=%%B
)
echo %IMDB-SUCHE%D:\movie4k-kinox\test-ortner\imdb-suche-ende.txt
----------------------------------------------------------------------------------------
rem bis hier get alles da gibt er alles noch mit äöü in eine txt datei
----------------------------------------------------------------------------------------
FOR /F "tokens=1,2,3 delims==" %%A IN ('c:\windows\System32\findstr.exe /V /C:"soritose" D:\test-ortner\imdb-suche-ende.txt') DO (
set IMDB-SUCHE1=%%C
)
echo %IMDB-SUCHE1%>D:\test-ortner\imdb-suche-ende1.txt
FOR /F "tokens=*" %%a IN ('c:\windows\System32\findstr.exe /V /C:"soritose" D:\test-ortner\imdb-suche-ende1.txt') DO set IMDB-SUCHE2=%%a
set IMDB-SUCHE3=%IMDB-SUCHE2: =+%
set IMDB-SUCHE4=%IMDB-SUCHE3:"=══%
set IMDB-SUCHE5=%IMDB-SUCHE4:+(=══%
echo %IMDB-SUCHE5%>D:\test-ortner\imdb-suche-ende2.txt
FOR /F "tokens=1-4 delims=══" %%A IN ('c:\windows\System32\findstr.exe /V /C:"soritose" D:\movie4k-kinox\test-ortner\imdb-suche-ende2.txt') DO (
set name1=%%A
set name2=%%B
set name3=%%C
set name4=%%D
)
echo %name1%
pause
Ich würde mich freuen, wen mir da wieder jemand helfen könnte.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 230305
Url: https://administrator.de/contentid/230305
Ausgedruckt am: 24.11.2024 um 09:11 Uhr
11 Kommentare
Neuester Kommentar
Moin,
wenn man nach "umlaute in Batch" sucht, findet man da relativ schnell was... Hier die Lösung:
steht für Change Codepage einfach oben einfügen, fertig.
Infos:
http://www.pctipp.ch/tipps-tricks/kummerkasten/windows-7/artikel/window ...
Gruß
Chris
wenn man nach "umlaute in Batch" sucht, findet man da relativ schnell was... Hier die Lösung:
chcp 1252
steht für Change Codepage einfach oben einfügen, fertig.
Infos:
http://www.pctipp.ch/tipps-tricks/kummerkasten/windows-7/artikel/window ...
Gruß
Chris
Moin.
Wenn chcp nicht helfen sollte (war es nicht so, dass damit nur die Ausgabe in der Shell beeinflusst werden konnte?), dann nimm dies http://www.richpasco.org/utilities/cp850win.html
Wenn chcp nicht helfen sollte (war es nicht so, dass damit nur die Ausgabe in der Shell beeinflusst werden konnte?), dann nimm dies http://www.richpasco.org/utilities/cp850win.html
Moin,
Zitat von @DerWoWusste:
Moin.
Wenn chcp nicht helfen sollte (war es nicht so, dass damit nur die Ausgabe in der Shell beeinflusst werden konnte?)
also meines Wissens (ich nutze einfach keine Umlaute) dreht chcp nur die Verarbeitung nicht die Ausgabe.
Gruß
Chris
Zitat von @DerWoWusste:
Moin.
Wenn chcp nicht helfen sollte (war es nicht so, dass damit nur die Ausgabe in der Shell beeinflusst werden konnte?)
also meines Wissens (ich nutze einfach keine Umlaute) dreht chcp nur die Verarbeitung nicht die Ausgabe.
Gruß
Chris
Moin,
ja und? Wenn keines drin ist, ändert sich ja nichts. Probiere es mal aus ;)
Gruß
Chris
Zitat von @soritose:
> also meines Wissens (ich nutze einfach keine Umlaute) dreht chcp nur die Verarbeitung nicht die Ausgabe.
das problem ist das ich nicht bestimrn kann ob er äöü drin hat
> also meines Wissens (ich nutze einfach keine Umlaute) dreht chcp nur die Verarbeitung nicht die Ausgabe.
das problem ist das ich nicht bestimrn kann ob er äöü drin hat
ja und? Wenn keines drin ist, ändert sich ja nichts. Probiere es mal aus ;)
Gruß
Chris
Hey,
die IMDB-Seite sendet alles in utf-8. Aus mir nicht näher bekannten Gründen aber nicht unerwartet kommt
Gruss.
die IMDB-Seite sendet alles in utf-8. Aus mir nicht näher bekannten Gründen aber nicht unerwartet kommt
cmd /U
damit nicht zurecht. Ich würde den Text der Einfachheit halber mit iconv in ANSI CP 1252 umwandeln.@ECHO OFF &SETLOCAL disableDelayedExpansion
CHCP
FOR /f tokens^=2delims^=^" %%a IN ('wget -q -O- "http://www.imdb.com/title/tt3396548"^|FINDSTR "og:title"') DO ECHO(%%a
FOR /f tokens^=2delims^=^" %%a IN ('wget -q -O- "http://www.imdb.com/title/tt3396548"^|FINDSTR "og:title"^|iconv -f utf-8 -t cp850') DO ECHO(%%a
FOR /f tokens^=2delims^=^" %%a IN ('wget -q -O- "http://www.imdb.com/title/tt3396548"^|FINDSTR "og:title"^|iconv -f utf-8 -t cp1252') DO ECHO(%%a
Active code page: 850
"Heiter bis t├Âdlich - Hubert und Staller" Bl├╝tentr├ñume (TV Episode 2014)
"Heiter bis tödlich - Hubert und Staller" Blütenträume (TV Episode 2014)
"Heiter bis t÷dlich - Hubert und Staller" Bl³tentrõume (TV Episode 2014)