TextEncoder

Batch Text Encoder

Mit der Programmversion TextEncoder Pro CL können Sie die Kodierung und den verwendeten Zeilenumbruch von Textdateien auch über die Kommandozeile ändern. Damit ist es möglich, den TextEncoder per Skript zu steuern. Auf dieser Seite möchten wir Ihnen eine Einführung in das Thema geben und einige Beispiele zeigen, wie Sie mit dem TextEncoder einzelnen Dateien oder den Inhalt ganzer Ordner bearbeiten und konvertieren können. Außerdem finden Sie unten auf dieser Seite eine Übersicht aller Parameter, die Sie verwenden können.

Einzelne oder mehrere Dateien konvertieren

Fangen wir mit einem einfachen Beispiel an. Wir möchten die Kodierung einer einzelnen Datei auf UTF-8 ändern. Dafür übergeben wir die folgenden Parameter:

TextEncoder.exe -cl C:\test.txt enc=utf8

Zunächst sehen Sie den Parameter -cl, der für "command line" (Kommandozeile) steht. Dieser Parameter steuert, ob der TextEncoder mit grafischer Benutzeroberfläche oder im Kommandozeilen-Modus ohne grafische Benutzeroberfläche bestattet wird. Diesen Parameter benutzen wir immer, wenn wir den TextEncoder über die Kommandozeile steuern möchten. Lassen wir diesen Parameter weg, startet der TextEncoder ganz normal mit Fenster. Als nächsten Parameter übergeben wir den Pfad zu der Datei, die wir bearbeiten möchten. Zuletzt übergeben wir enc=utf8. Damit geben wir an, dass wir die Kodierung (encoding) UTF-8 wünschen. Unten auf dieser Seite finden Sie eine Liste aller Encodings, die wir an dieser Stelle übergeben können. Mit diesem Befehl wird die Datei C:\test.txt in das UTF-8-Format umgewandelt.

Ähnlich steuern wir die Änderung des Zeilenumbruchs. Das folgende Beispiel ändert den Zeilenumbruch (linebreak) der Datei C:\test.txt in CR LF (Windows).

TextEncoder.exe -cl C:\test.txt lb=crlf

Als nächstes möchten wir explizit bestimmen, dass die Byte Order Mark (bom) in die Datei geschrieben wird. Das machen wir mit dem Parameter "bom":

TextEncoder.exe -cl C:\test.txt enc=utf8 bom=1

Der Parameter "bom" kann die Werte "keep", "0" oder "1" annehmen. Mit "1" wird die Byte Order Mark immer in die Datei geschrieben, mit "0" nie. Mit "keep" wird (falls möglich) der Zustand der Ausgangsdatei übernommen. Das heißt, falls die Originaldatei eine Byte Order Mark hat, wird auch wieder eine Byte Order Mark in die Datei geschrieben. Falls nicht, nicht.

Bisher haben wir die Datei C:\test.txt immer überschrieben. Nun möchten wir die konvertierte Datei als neue Datei abspeichern. Dazu verwenden wir den Parameter "save":

TextEncoder.exe -cl C:\test.txt enc=latin1 save=C:\neu.txt

Hier ändern wir die Kodierung der Datei C:\test.txt auf Latin 1 (ISO 8859-1) und speichern die Datei als C:\neu.txt ab. Die Datei C:\test.txt bleibt entsprechend unverändert.

TextEncoder.exe -cl C:\test1.txt C:\test2.txt enc=utf16le

Natürlich können wir auch mehrere Dateien gleichzeitig bearbeiten. In diesem Beispiel konvertieren wir zum Beispiel die Dateien C:\test1.txt und C:\test2.txt in das Format UTF16-LE. Sie können beliebig viele Dateien hintereinander angeben.

Inhalt von Ordnern konvertieren

Neben der Angabe einzelner Dateien, können Sie auch den Pfad zu einem Ordner übergeben, um dessen Inhalt zu bearbeiten. Die Syntax entspricht der Bearbeitung von Dateien:

TextEncoder.exe -cl C:\ordner enc=utf8

Mit diesem Befehl werden alle Dateien aus dem Ordner C:\ordner in das Format UTF-8 konvertiert. Wenn Sie die Datei nicht überschreiben möchten, können Sie einen der Parameter save-folder, save-name oder save-ext verwenden, um den Ordner, Dateinamen oder die Dateiendung der bearbeiteten Dateien zu ändern und damit die bearbeiteten Dateien als neue Dateien abspeichern.

TextEncoder.exe -cl C:\ordner enc=utf8 save-folder=C:\neuerordner

In diesem Beispiel konvertieren wir beispielsweise alle Dateien aus dem Ordner C:\ordner in das UTF-8-Format und speichern das Ergebnis im Ordner C:\neuerordner ab. Die Originaldateien bleiben damit unverändert.

TextEncoder.exe -cl C:\ordner enc=utf8 save-folder=C:\neu save-name=%%jjjj%%-%%mm%%-%%tt%

In diesem Beispiel möchten wir nicht nur den Ordner sondern auch den Namen der Datei ändern. Hier speichern wir die Dateien aus dem Ordner C:\ordner im UTF-8-Format im Ordner C:\neu ab und ändern dabei den Namen der Datei auf das aktuelle Datum. Dafür stehen nämlich die verwendeten Platzhalter im Parameter "save-name". Dadurch dass wir keine neue Dateiendung mit dem Parameter "save-ext" definiert haben, wird die Dateiendung der jeweiligen Originaldatei übernommen.

Für den Fall dass wir nicht alle Dateien aus dem Ordner konvertieren möchten, können wir Filter über die Parameter übergeben. Zum Beispiel, um nur Dateien einer bestimmten Dateiendung zu bearbeiten:

TextEncoder.exe -cl C:\ordner enc=utf8 filter-ext=txt

Hier übergeben wir den Parameter "filter-ext" mit dem Wert "txt". Das bedeutet, dass wir nur Dateien mit der Endung TXT bearbeiten möchten. Sollten sich Dateien mit anderen Endungen in dem selben Ordner befinden, bleiben diese unberücksichtigt. Mehrere Dateiendungen können wir folgendermaßen angeben:

TextEncoder.exe -cl C:\ordner enc=utf8 filter-ext=txt-htm

Dieser Filter sorgt dafür, dass nur Dateien mit den Endungen TXT oder HTM aus dem Ordner C:\ordner konvertiert werden. Weitere Filter und Suchoptionen finden Sie unten auf dieser Seite in der Liste aller verfügbaren Parameter.

TextEncoder.exe -cl C:\ordner enc=utf8 search-subdirs=0

Mit dem Parameter "search-subdirs" bestimmen Sie darüber hinaus, ob nur die Dateien bearbeitet werden sollen, die direkt in der ersten Ebene im angegebenen Ordner liegen oder auch alle Unterordner (sub folders) des angegebenen Ordners berücksichtigt werden sollen. Im diesem Beispiel geben wir search-subdirs=0 an. Damit werden Dateien, die in Unterordnern liegen nicht bearbeitet. Falls Sie diesen Parameter weglassen oder search-subdirs=1 übergeben, werden auch alle Dateien aus allen Unterordnern bearbeitet. Im Beispiel zum Beispiel auch Dateien aus einem Ordner wie C:\ordner\ordner1\ordner2.

Dateien in einem bestimmten Format einlesen

Normalerweise errät der TextEncoder die Kodierung und den Zeilenumbruch der vorhandenen Dateien und liest die Dateien aufgrund dieser Basis ein. Natürlich können Sie auch eine bestimmte Kodierung oder einen bestimmten Zeilenumbruch-Typ beim Einlesen erzwingen. Das machen sie mit den Parametern enc-read und lb-read.

TextEncoder.exe -cl C:\datei.txt enc-read=utf8 lb-read=lf

Hier erzwingen wir, dass die Datei als UTF-8-Format mit dem Zeilenumbruch LF (Unix, Linux, macOS) eingelesen und entsprechend interpretiert wird. Wenn Sie einen der beiden Parameter oder beide Parameter weglassen, wird der Wert enc-read=auto beziehungsweise lb-read=auto verwendet. Das bedeutet, dass die Dateien aufgrund einer automatischen Erkennung der Kodierung und des Zeilenumbruch eingelesen und interpretiert werden.

Übersicht über alle verfügbaren Parameter

In der folgenden Tabelle haben wir alle verfügbaren Parameter aufgelistet, die Sie im TextEncoder verwenden können. Einige der Parameter haben wir oben auf dieser Seite auch schon in den Beispielen vorgestellt.

ParameterWerteDefaultBeschreibung
[Dateien]beliebige(r) Dateipfad(e)
-Pfad zur Datei, die konvertiert werden soll. Es können mehrere Dateien hintereinander angegeben werden, um mehrere Dateien gleichzeitig zu konvertieren.
[Ordner]beliebige(r) Ordnerpfad(e)
-Pfad zu einem Ordner, dessen Inhalt konvertiert werden soll. Um nicht alle Dateien aus dem Ordner zu konvertieren, können Sie die Parameter search-subdirs, filter-ext, filter-name, filter-name-matchcase, filter-name-regex, filter-hiddenfiles und filter-onlytextfiles verwenden, um die Suche einzugrenzen. Es können mehrere Ordner hintereinander angegeben werden, um den Inhalt mehrerer Ordner gleichzeitig zu konvertieren.
lbkeep, system, crlf, lf, cr, nl, ff, nel, ls, ps oder vt
keepZeilenumbruch-Typ für die konvertierte Datei. Mit "keep" wird der Zeilenumbruch-Typ der Originaldatei beibehalten, ansonsten der angegebene Typ. Der Wert "system" entspricht dem Standard-Zeilenumbruch-Typ des Betriebssystems, auf dem der TextEncoder aktuell ausgeführt wird. Also zum Beispiel crlf für Windows.  Eine Übersicht über die verschiedenen Zeilenumbruch-Typen finden Sie hier.
lb-readauto, system, crlf, lf, cr, nl, ff, nel, ls, ps oder vtautoZeilenumbruch, mit dem die Datei eingelesen wird. Falls dieser Parameter nicht angegeben wird oder "auto" angegeben ist, wird versucht den Zeilenumbruch automatisch zu erkennen. Der Wert "system" entspricht dem Standard-Zeilenumbruch-Typ des Betriebssystems, auf dem der TextEncoder aktuell ausgeführt wird. Also zum Beispiel crlf für Windows. 
enckeep, ascii, latin1, latin2, win-ansi, win-1250, win-1251, win-1252, win-1253, utf7, utf8, utf16le, utf16be, utf32le oder utf32be
keepKodierung für die konvertierte Datei. Mit "keep" wird die Kodierung der Originaldatei verwendet, ansonsten die angegebene Kodierung. Die Kodierung "win-ansi" ist abhängig von der Lokalisierung Ihrer Windows-Version. Es wird die Windows-Codepage verwendet, die Ihrer Sprachversion von Windows entspricht. Eine Übersicht über alle verfügbaren Kodierungen finden Sie hier.
enc-readauto, ascii, latin1, latin2, win-ansi, win-1250, win-1251, win-1252, win-1253, utf7, utf8, utf16le, utf16be, utf32le oder utf32beautoKodierung, mit der die Datei eingelesen wird. Falls dieser Parameter nicht angegeben wird, wird versucht die Kodierung automatisch zu erkennen. Die Kodierung "win-ansi" ist abhängig von der Lokalisierung Ihrer Windows-Version. Es wird die Windows-Codepage verwendet, die Ihrer Sprachversion von Windows entspricht.
bom0, 1 oder keep
keepSoll eine Byte Order Mark in die Datei geschrieben werden? 0 für nie, 1 für immer, "keep" für wie in der Originaldatei.
savePfad zu beliebiger Datei
-Mit diesem Parameter können Sie die konvertierte Datei explizit unter einem frei wählbaren Dateinamen abspeichern. Geben Sie zum Beispiel save=C:\Ordner\Datei.txt an, um die konvertierte Datei als C:\Ordner\Datei.txt abzuspeichern. Wenn Sie die konvertierte Datei unter Beibehaltung des Dateinamens und der Dateiendung lediglich in einem anderen Ordner abspeichern möchten, benutzen Sie bitte den Parameter save-folder und lassen Sie den Parameter save weg. Außerdem können in gleicher Weise die Parameter save-name für den Namen und save-ext für die Dateiendung verwendet werden und miteinander kombiniert werden. Wenn Sie keinen der Parameter save, save-folder, save-name oder save-ext angeben, wird die Originaldatei überschrieben.
save-folderkeep oder beliebiger Ordner
keepOrdner, in dem die konvertierte Datei abgespeichert wird. Ohne Angabe dieses Parameters oder falls Sie diesen Parameter mit dem Wert "keep" aufrufen, wird die Datei in dem Ordner abgespeichert, in dem auch die Originaldatei liegt. Dieser Parameter kann mit den Parametern save-name und save-ext kombiniert werden. Jeder dieser Parameter ist optional, so dass Sie unabhängig voneinander den Ordner, den Namen und die Endung definieren können. Wenn Sie die konvertierte Datei unter einem expliziten Dateinamen mit Pfad, Name und Endung speichern möchten, benutzen Sie bitte den Parameter save. Wenn Sie keinen der Parameter save, save-folder, save-name oder save-ext angeben, wird die Originaldatei überschrieben.
save-namekeep oder beliebiger Text
keepName ohne Ordner und Dateiendung, mit dem die konvertierte Datei abgespeichert wird. Ohne Angabe dieses Parameters oder falls Sie diesen Parameter mit dem Wert "keep" benutzen, erhält die Datei den Namen, den auch die Originaldatei hatte. Dieser Parameter kann mit den Parametern save-folder und save-ext kombiniert werden. Jeder dieser Parameter ist optional, so dass Sie unabhängig voneinander den Ordner, den Namen und die Endung definieren können. Wenn Sie die konvertierte Datei unter einem expliziten Dateinamen mit Pfad, Name und Endung speichern möchten, benutzen Sie bitte den Parameter save. Wenn Sie keinen der Parameter save, save-folder, save-name oder save-ext angeben, wird die Originaldatei überschrieben.
save-extkeep oder beliebiger Text
keepDateiendung mit dem die konvertierte Datei abgespeichert wird. Ohne Angabe dieses Parameters oder falls Sie diesen Parameter mit dem Wert "keep" benutzen, erhält die konvertierte Datei die Dateiendung, die auch die Originaldatei hatte. Dieser Parameter kann mit den Parametern save-folder und save-name kombiniert werden. Jeder dieser Parameter ist optional, so dass Sie unabhängig voneinander den Ordner, den Namen und die Endung definieren können. Wenn Sie die konvertierte Datei unter einem expliziten Dateinamen mit Pfad, Name und Endung speichern möchten, benutzen Sie bitte den Parameter save. Wenn Sie keinen der Parameter save, save-folder, save-name oder save-ext angeben, wird die Originaldatei überschrieben.
search-subdirs0 oder 11Sollen beim Bearbeiten eines Ordners auch die Unterordner durchsucht werden? 0 für nein, 1 für ja. Mit dem Wert 0 werden nur die Dateien bearbeitet, die in der ersten Ebene des Ordners liegen.
filter-extbeliebiger Text
-Falls nur Dateien mit einer bestimmten Endung bearbeitet werden sollen, können Sie diese Endung(en) hier angeben. Also zum Beispiel filter-ext=txt um nur Dateien mit der Endung TXT zu bearbeiten. Mehrere Endungen können mit einem Bindestrich getrennt werden. Also zum Beispiel filter-ext=php-htm-html um nur Dateien mit den Endungen PHP, HTM oder HTML zu bearbeiten. Wenn Sie diesen Parameter weglassen oder leer lassen, werden Dateien mit allen Endungen berücksichtigt.
filter-namebeliebiger Text
-Falls nur Dateien mit einem bestimmten Namen bearbeitet werden sollen, können Sie hier einen Namen angeben. Bearbeitet werden alle Dateien die die mit "filter-name" angegebenen Zeichen enthalten. Mit filter-name=ab also zum Beispiel Dateien wie abc.txt oder xab.txt. Wenn Sie diesen Parameter weglassen oder leer lassen, werden Dateien mit allen Namen berücksichtigt.
filter-name-matchcase0 oder 10Soll der mit dem Parameter "filter-name" angegebene Text gemäß seiner Groß- und Kleinschreibung interpretiert werden? 0 für nein, 1 für ja. Falls 1 muss der Text im Dateinamen genau so in der gleichen Schreibweise vorkommen. Falls 0 wird unabhängig von der Groß- und Kleinschreibung gesucht.
filter-name-regex0 oder 10Falls der unter "filter-name" angegebene Suchfilter als regulärer Ausdruck interpretiert werden soll, verwenden Sie 1. Falls einfach nur nach dem angegebenen Text gesucht werden soll, 0.
filter-hiddenfiles0 oder 10Sollen beim Bearbeiten eines Ordners auch versteckte Dateien bearbeitet werden? 0 für nein, 1 für ja. Mit dem Wert 0 bleiben alle versteckten Dateien unberührt, mit dem Wert 1 werden auch die versteckten Dateien bearbeitet.
filter-onlytextfiles0 oder 11Sollen beim Bearbeiten eines Ordners nur Textdateien bearbeitet werden? 0 für nein, 1 für ja. Falls ja, wird jede Datei vor der Konvertierung geprüft, ob sie eine Binärdatei ist und eine Bearbeitung nur dann durchgeführt, falls die Datei keine Binärdatei ist.
openfile0 oder 10Soll die konvertierte Datei nach der Bearbeitung geöffnet werden? Mit openfile=1 wird die neu erstellte Datei geöffnet.
delfile0 oder 10Soll die Originaldatei nach der Konvertierung gelöscht werden? Mit delfile=1 wird die Originaldatei gelöscht. Diese Option ist nur sinnvoll, wenn die konvertierten Dateien unter einem anderen Namen oder an einem anderen Ort als die Originaldatei gespeichert werden sollen und die Originaldateien nicht behalten werden sollen.

Prinzipiell können alle dieser Parameter miteinander kombiniert und zusammen verwendet werden. Falls Sie einen Parameter nicht definieren, wird für diesen Parameter der angegebene Default-Wert verwendet (ein - steht dafür dass dieser Parameter per Default leer ist). In der Spalte "Werte" sehen Sie alle Werte, die dieser Parameter annehmen kann.

Alte Programmversion

Falls Sie noch die alte Version des TextEncoders verwenden: Eine Übersicht der alten TextEncoder Batch Version finden Sie hier.