TxT im UTF Format speichern
Hallo,
ich mach es kurz.
WIe kann ich per Batch Skript eine Ausgabe in UTF Format speichern? Bei mir wird es immer im ANSI gespeicht, wo ich mit den Sonderzeichern probleme bekomme beim Weiterbearbeiten.
ich mach es kurz.
WIe kann ich per Batch Skript eine Ausgabe in UTF Format speichern? Bei mir wird es immer im ANSI gespeicht, wo ich mit den Sonderzeichern probleme bekomme beim Weiterbearbeiten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 112303
Url: https://administrator.de/contentid/112303
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
13 Kommentare
Neuester Kommentar
Moin alle,
Siehe beispielsweise die Hilfe zu cmd die letzten angezeigten Zeilen
@Aldeeer
kannst Du bitte mal konkretisieren was Dein Begehr ist und wie/mit welchen Sonderzeichen Du Probleme bei welcher Verarbeitung hast?
Grüße
Biber
Zitat von @godlie:
Das kannst du getrost in die Tonne kicken
Die cmd shell kann kein UTF oder UNICODE.
Na ja, sooo würde ich es nicht ausdrücken....Das kannst du getrost in die Tonne kicken
Die cmd shell kann kein UTF oder UNICODE.
Siehe beispielsweise die Hilfe zu cmd die letzten angezeigten Zeilen
>cmd /?
Startet eine neue Instanz des Windows 2000-Befehlsinterpreters.
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] Zeichenfolge]
/C Führt den Befehl in der Zeichenfolge aus und endet dann.
/K Führt den Befehl in der Zeichenfolge aus und endet dann nicht.
/S Bestimmt Behandlung von Zeichenfolgen nach /C oder /K (siehe unten).
/Q Schaltet die Befehlsanzeige aus.
/D Deaktiviert die Ausführung von AutoRun-Befehlen von der Registrierung.
/A Ausgabe interner Befehle in eine Pipe oder Datei im ANSI-Format.
/U Ausgabe interner Befehle in eine Pipe oder Datei im UNICODE-Format.
....
kannst Du bitte mal konkretisieren was Dein Begehr ist und wie/mit welchen Sonderzeichen Du Probleme bei welcher Verarbeitung hast?
Grüße
Biber
... oder zum Ausprobieren:
Inhalt der Logdatei (ANSI):
Batch:
Grüße
bastla
Inhalt der Logdatei (ANSI):
Übliche Maßnahme durchgeführt.
@echo off & setlocal
for /f "tokens=2 delims=:." %%i in ('chcp') do set "CP=%%i"
chcp 1252>nul
for /f "delims=" %%i in (D:\Logdatei.txt) do eventcreate /T INFORMATION /ID 999 /D "%%i">nul
chcp %CP%>nul
bastla
Hallo Aldeer!
Soferne das Log-File original in Unicode vorliegt und es keine Notwendigkeit gibt (die Umlaute sind nicht Grund genug dafür), Ergebnisse in Unicode zu produzieren, wäre es sinnvoll, bereits zu Beginn der Verarbeitung die implizite Konvertierungsfunktion des "type"-Befehles zu verwenden, also ganz einfach:
und mit der so erzeugten Datei "Log.txt" weiter zu arbeiten - dann sollte auch das Umschalten der Codepage auf 1252 genügen ...
Grüße
bastla
liegt der Zeichensatz bei DOS wo anders als bei Windows. Batch ist ja DOS und die cmd wird im Windows ausgeführt.
... bzw etwas exakter: In der CMD-Shell (DOS wurde unter Windows ME "begraben" bzw zumindest "versenkt") wird ASCII, in Windows ANSI verwendet.Soferne das Log-File original in Unicode vorliegt und es keine Notwendigkeit gibt (die Umlaute sind nicht Grund genug dafür), Ergebnisse in Unicode zu produzieren, wäre es sinnvoll, bereits zu Beginn der Verarbeitung die implizite Konvertierungsfunktion des "type"-Befehles zu verwenden, also ganz einfach:
type Unicode-Log.txt>Log.txt
Grüße
bastla