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

Umlaute in Textdatei mit Eingabeaufforderung korrekt wiedergeben?

Frage Microsoft Windows Server

Mitglied: AlbertMinrich

AlbertMinrich (Level 2) - Jetzt verbinden

19.03.2008, aktualisiert 19:10 Uhr, 15095 Aufrufe, 7 Kommentare

Hallo,

ich hab eine mit notepad erstellte Textdatei test.txt, in der steht Müller.
Wenn ich jetzt in der Eingabeaufforderung
type test.txt schreibe, kommt als Ausgabe
m3ller

Wenn ich die Datei nicht mit notepad sondern mit edit erstelle, wird es korrekt dargestellt. Bringt mir aber nichts, weil ich bereits eine bestehene (mit notepad) erstellte Datei mit jeder Menge Inhalt habe.

Was kann ich tun?


Danke
Martin
Mitglied: misterdemeanor
19.03.2008 um 16:12 Uhr
Grüß Dich Martin,

das liegt an der Codierung. Der type Befehl war dazu gedacht ASCII Dateien auszugeben.
ASCII enthält 128 Zeichen.
Wenn Du mit notepad.exe eine .txt Datei speicherst wird standardmäßig in ANSI codiert.
ANSI enthält 256 Zeichen wobei die ersten 128 Zeichen ASCII-identisch sind.

Normalerweise wird in der MS-DOS Eingabeaufforderung die Codepapage 850 verwendet. Das (kombiniert mit einer ANSI codierten .txt) führt zu Deinem Problem.

Wenn Du Deine .txt´s in Notepad als Unicode codiert speicherst gibt es keine Probleme.

Allerdings weiß ich nicht was dort als Unicode gemeint ist da es auch die Auswahlmöglichkeiten UTF-8 und Unicode Big Endian gibt. Nun nehme ich einfach mal an das es sich hier bei Unicode um UTF-8 (oder 16 oder 32) Little Endian ohne BOM handelt...vielleicht aber auch UCS-2 Big Endian...wer blickt da noch durch

BG, Felix -misterdemeanor-

PS: Notepad++
Bitte warten ..
Mitglied: AlbertMinrich
19.03.2008 um 16:31 Uhr
Danke für die Antwort.

Ich hab´s mit allen vier Varianten ausprobiert.
Mit Unicode ist zwar die type-Ausgabe korrekt, aber es klappt nicht mit dem for-Befehl (for /F %i in (test.txt) do echo %i). Da wird dann gar nichts ausgegeben.
Die anderen beiden Unicode Bid Endian und UTF-8 gehen auch nicht.

Aber egal, ich hab´s jetzt per vbs gemacht.

Gruß
Martin
Bitte warten ..
Mitglied: bastla
19.03.2008 um 17:18 Uhr
Hallo AlbertMinrich!

Für's nächste Mal: Wenn Du mit
01.
chcp 1252>nul
eine passende Codepage aktivierst, sollte es auch in Batch klappen ...

Grüße
bastla

P.S.: Der erwähnte Notepad++ ist auch für VBS sehr zu empfehlen ...
Bitte warten ..
Mitglied: AlbertMinrich
19.03.2008 um 17:46 Uhr
Das hatte ich vor meinem ersten Post schon probiert. Hat aber auch nichts geändert.
Auch jetzt mit den 4 verschiedenen notepad-Varianten (Ansi, Unicode...) klappt´s mit keiner.
Bitte warten ..
Mitglied: misterdemeanor
19.03.2008 um 18:47 Uhr
Hallo nochmal,

Auch jetzt mit den 4 verschiedenen notepad-Varianten (Ansi, Unicode...) klappt´s mit keiner.

Wenn ich die Codepage 1252 mit der ANSI Tabelle vergleiche fällt mir auf das die Umlaute(ä,ö,ü,Ä,Ö,Ü) gleiche Codes haben.

Wenn ich mit notepad.exe eine Datei mit dem Inhalt "ä,ö,ü,Ä,Ö,Ü" als test.txt im ANSI Format speichere und am cmd.exe-Prompt
01.
chcp 1252 <Enter> 
02.
type test.txt <Enter>
eingebe, bekomme ich eine korrekt "formatierte" Ausgabe. Ebenso wenn ich test.txt im "Unicode" Format abspeichere.

Könnte es an Deiner Batch Datei gelegen haben? Also ich persönlich hab mit Batch nix am Hut und wenn ich in eine .bat
01.
@echo off 
02.
for /F %i in (test.txt) do echo %i
eintippe und ausführe wird mir nur angezeigt Syntaxfehler. Aber ich kam auch nicht auf den Gedanken help for einzutippen

Aber egal, ich hab´s jetzt per vbs gemacht.

OK, vielleicht lässt Du Biber´s Batch-Azubi doch noch einen Blick auf den Code der ehemaligen Batchdatei werfen. Selbstredend nur wenn Du selbst noch interessierst bist, bzw. bastla "Lust" dazu hat.
Ansonsten vermesse ich mich mal Dich dazu zu bitten n Beitrag als gelöst zu markieren.

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: bastla
19.03.2008 um 19:04 Uhr
@misterdemeanor

Vielleicht solltest Du Dich auch bei Biber bewerben ...

Dein Batch-Beispiel mit einfachen %-Zeichen funktioniert übrigens zwar als Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.

Grüße
bastla
Bitte warten ..
Mitglied: misterdemeanor
19.03.2008 um 19:10 Uhr
@bastla

Vielleicht solltest Du Dich auch bei Biber
bewerben ...

Und Batchen lernen? Als VB´ler bin ich froh genug noch eine kleine Stufe weiter über dem von C´lern definiertem"Abschaum" zu stehen

Dein Batch-Beispiel mit einfachen %-Zeichen funktioniert übrigens zwar als
Direkteingabe, benötigt aber als gespeicherter Batch die Schreibweise %%i.

Ah, OK, hatte es aus einem Post von Martin kopiert...

BG, Felix -misterdemeanor-
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

Batch & Shell
gelöst Textdatei auf den Standarddrucker drucken (3)

Frage von pdiddo zum Thema Batch & Shell ...

Ubuntu
gelöst Regex - zusammengefasste Wörter finden und korrekt trennen??? (6)

Frage von takitano zum Thema Ubuntu ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (15)

Frage von Ammann zum Thema Windows Server ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...

LAN, WAN, Wireless
gelöst Netzwerk in 2 Teile trennen (11)

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