Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch schreibt keine Umlaute (äöü)

Frage Entwicklung Batch & Shell

Mitglied: soritose

soritose (Level 1) - Jetzt verbinden

19.02.2014, aktualisiert 08:39 Uhr, 2542 Aufrufe, 11 Kommentare

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:

01.
  
02.
@ECHO OFF 
03.
set IMDB=%1 
04.
echo %IMDB% 
05.
pause 
06.
 
07.
D:\test-ortner\curl.exe -d -i http://www.imdb.com/title/%IMDB%/ >D:\test-ortner\imdb.txt 
08.
 
09.
pause 
10.
C:\Windows\System32\findstr.exe /L /C:"og:title" D:\test-ortner\imdb.txt>D:\test-ortner\imdb-suche.txt 
11.
FOR /F "tokens=1,2 delims=<" %%A IN ('c:\windows\System32\findstr.exe /V /C:"soritose" D:\test-ortner\imdb-suche.txt') DO ( 
12.
set IMDB-SUCHE=%%B 
13.
14.
echo %IMDB-SUCHE%D:\movie4k-kinox\test-ortner\imdb-suche-ende.txt 
15.
 
16.
---------------------------------------------------------------------------------------- 
17.
rem bis hier get alles da gibt er alles noch mit äöü in eine txt datei 
18.
---------------------------------------------------------------------------------------- 
19.
 
20.
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 ( 
21.
set IMDB-SUCHE1=%%C 
22.
23.
echo %IMDB-SUCHE1%>D:\test-ortner\imdb-suche-ende1.txt 
24.
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 
25.
 
26.
set IMDB-SUCHE3=%IMDB-SUCHE2: =+% 
27.
set IMDB-SUCHE4=%IMDB-SUCHE3:"=══% 
28.
set IMDB-SUCHE5=%IMDB-SUCHE4:+(=══% 
29.
echo %IMDB-SUCHE5%>D:\test-ortner\imdb-suche-ende2.txt 
30.
 
31.
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 ( 
32.
set name1=%%A 
33.
set name2=%%B 
34.
set name3=%%C 
35.
set name4=%%D 
36.
37.
 
38.
echo %name1% 
39.
pause

Ich würde mich freuen, wen mir da wieder jemand helfen könnte.
Vielen Dank
Mitglied: Sheogorath
19.02.2014, aktualisiert um 01:06 Uhr
Moin,

wenn man nach "umlaute in Batch" sucht, findet man da relativ schnell was... Hier die Lösung:

01.
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
Bitte warten ..
Mitglied: DerWoWusste
19.02.2014 um 08:07 Uhr
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
Bitte warten ..
Mitglied: Sheogorath
19.02.2014 um 08:29 Uhr
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
Bitte warten ..
Mitglied: soritose
19.02.2014, aktualisiert um 23:40 Uhr
hallo

und danke für eure antworten aber leider bringen sie mir alle nicht

bis da hin schreibt er die suche auch alle Sonderzeichen mit rein


echo %IMDB-SUCHE1%>D:\test-ortner\imdb-suche-ende1.txt

das ist in der txt Datei drin imdb-suche-ende1.txt
"CSI - Den Tätern auf der Spur (TV Series 2000– )" /

ab jest kommt das Problem

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

das ist die Ausgabe

D:\test-ortner>set IMDB-SUCHE2="CSI - Den T├ñtern auf der Spur (TV Series 2000ÔÇô )" /

set IMDB-SUCHE3=%IMDB-SUCHE2: =+%
echo %IMDB-SUCHE3%

D:\test-ortner>set IMDB-SUCHE3="CSI+-+Den+T├ñtern+auf+der+Spur+(TV+Series+2000ÔÇô+)"+/

set IMDB-SUCHE4=%IMDB-SUCHE3:"=══%

D:\test-ortner>set IMDB-SUCHE4=══CSI+-+Den+T├ñtern+auf+der+Spur+(TV+Series+2000ÔÇô+)══+/

set IMDB-SUCHE5=%IMDB-SUCHE4:+(=══%

D:\test-ortner>set IMDB-SUCHE5=══CSI+-+Den+T├ñtern+auf+der+Spur══TV+Series+2000ÔÇô+)══+/

echo %IMDB-SUCHE5%>D:\movie4k-kinox\test-ortner\imdb-suche-ende2.txt

D:\test-ortner>echo ══CSI+-+Den+T├ñtern+auf+der+Spur══TV+Series+2000ÔÇô+)══+/ 1>D:\movie4k-kinox\test-ortner\imdb-suche-ende2.txt

und das schreibt er dan in die txt rein

ÍÍCSI+-+Den+Tätern+auf+der+SpurÍÍTV+Series+2000–+)ÍÍ+/
Bitte warten ..
Mitglied: soritose
19.02.2014 um 11:49 Uhr
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
Bitte warten ..
Mitglied: Sheogorath
19.02.2014 um 16:44 Uhr
Moin,

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

ja und? Wenn keines drin ist, ändert sich ja nichts. Probiere es mal aus ;)

Gruß
Chris
Bitte warten ..
Mitglied: soritose
19.02.2014 um 18:40 Uhr
also chcp geht nicht egal was ich da nutze

und das mit den äöü wie soll ich das nicht nehmen wen ich nicht weis ob im name ein äöü vor kommt
Bitte warten ..
Mitglied: Endoro
19.02.2014 um 19:39 Uhr
Hey,
du könntest deinen Code mal in Tags setzen; so ist der leider nicht zu lesen bzw. nachzustellen.
Gruss.
Bitte warten ..
Mitglied: soritose
19.02.2014 um 23:41 Uhr
01.
  
02.
echo %IMDB-SUCHE1%>D:\test-ortner\imdb-suche-ende1.txt

das ist in der txt Datei drin imdb-suche-ende1.txt
"CSI - Den Tätern auf der Spur (TV Series 2000– )" /

ab jest kommt das Problem
01.
  
02.
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

das ist die Ausgabe

D:\test-ortner>set IMDB-SUCHE2="CSI - Den T├ñtern auf der Spur (TV Series 2000ÔÇô )" /
01.
  
02.
set IMDB-SUCHE3=%IMDB-SUCHE2: =+% 
03.
echo %IMDB-SUCHE3%

D:\test-ortner>set IMDB-SUCHE3="CSI+-+Den+T├ñtern+auf+der+Spur+(TV+Series+2000ÔÇô+)"+/
01.
  
02.
set IMDB-SUCHE4=%IMDB-SUCHE3:"=══%

D:\test-ortner>set IMDB-SUCHE4=══CSI+-+Den+T├ñtern+auf+der+Spur+(TV+Series+2000ÔÇô+)══+/
01.
  
02.
set IMDB-SUCHE5=%IMDB-SUCHE4:+(=══%

D:\test-ortner>set IMDB-SUCHE5=══CSI+-+Den+T├ñtern+auf+der+Spur══TV+Series+2000ÔÇô+)══+/
01.
  
02.
echo %IMDB-SUCHE5%>D:\movie4k-kinox\test-ortner\imdb-suche-ende2.txt

D:\test-ortner>echo ══CSI+-+Den+T├ñtern+auf+der+Spur══TV+Series+2000ÔÇô+)══+/ 1>D:\movie4k-kinox\test-ortner\imdb-suche-ende2.txt

und das schreibt er dan in die txt rein

ÍÍCSI+-+Den+Tätern+auf+der+SpurÍÍTV+Series+2000–+)ÍÍ+/

so besser Endoro
Bitte warten ..
Mitglied: pieh-ejdsch
20.02.2014 um 13:27 Uhr
Moin,

Was möchtest Du denn entfernen?

01.
Set imdb=%1 
02.
pushD D:\test-ortner 
03.
curl.exe -d -i http://www.imdb.com/title/%IMDB%/ >imdb.txt  
04.
for /f tokens^=2delims^=^" %%i in ('find "og:title' content=" "imdb.txt" ') do 3>out.txt (echo %%i>&3) 
05.
popD
Gruß Phil
Bitte warten ..
Mitglied: Endoro
20.02.2014, aktualisiert um 14:15 Uhr
Hey,

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.
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
CHCP 
03.
FOR /f tokens^=2delims^=^" %%a IN ('wget -q -O- "http://www.imdb.com/title/tt3396548"^|FINDSTR "og:title"') DO ECHO(%%a 
04.
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 
05.
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 
&quot;Heiter bis t├Âdlich - Hubert und Staller&quot; Bl├╝tentr├ñume (TV Episode 2014) 
&quot;Heiter bis tödlich - Hubert und Staller&quot; Blütenträume (TV Episode 2014) 
&quot;Heiter bis t÷dlich - Hubert und Staller&quot; Bl³tentrõume (TV Episode 2014)
Gruss.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Echo in Batch schreibt vorab eine 1 (1)

Frage von chappy72 zum Thema Batch & Shell ...

Batch & Shell
Altebekanntes Batch umlaute Problem (txt editor) (2)

Frage von Ritrivia zum Thema Batch & Shell ...

Batch & Shell
gelöst Falsche Umlaute beim auslesen einer .txt mit batch (2)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...