Skript-Steuerung des TextEncoders
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
- Inhalt von Ordnern konvertieren
- Dateien in einem bestimmten Format einlesen
- Benutzerdefinierte Zeichen für Zeilenumbrüche
- Dateien mit fixer Zeilenlänge konvertieren
- Zeilenumbruch an mehreren Zeichen
- Parameter und Einstellungsdateien
- Ausgabe von Dateiinformationen
- Übersicht über alle verfügbaren Parameter
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.
Wenn wir das Ergebnis der Konvertierung in dieser Weise als eine neue Datei speichern, steht sowohl das Erstellungsdatum als auch das letzte Änderungsdatum der neuen Datei auf dem Zeitpunkt der Konvertierung. Wenn wir dies nicht möchten und stattdessen das Datum der Originaldatei übernehmen möchten, können wir als Parameter "date=keep" übergeben:
TextEncoder.exe -cl C:\test.txt enc=utf32be save=C:\neu.txt date=keep
Dieser Parameter funktioniert natürlich genauso für das Überschreiben von Dateien, in diesem Fall würde es aber nur das Änderungsdatum betreffen, da das Erstellungsdatum beim Überschreiben in jedem Fall unverändert bleibt.
Natürlich können wir nicht nur Einzeldateien sondern auch mehrere Dateien gleichzeitig bearbeiten, wie das nächste Beispiel zeigt:
TextEncoder.exe -cl C:\test1.txt C:\test2.txt enc=utf16le
Hier 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.
TextEncoder.exe -cl C:\ordner enc=utf8 save-folder=C:\neu keep-subdirs=1
Wenn alle Dateien aus einem Ordner inklusive Unterordnern konvertiert werden und die Dateien in einem anderen, über den Parameter save-folder definierten Ordner gespeichert werden sollen, stellt sich die Frage, wie die Dateien aus den Unterordnern behandelt werden sollen. Dies lässt sich über den Parameter keep-subdirs steuern. Mit keep-subdirs=1 bleibt die Ordnerstruktur aus dem ursprünglichen Ordner erhalten und im neuen Ordner werden die Dateien in entsprechenden gleichnamigen Unterordnern gespeichert. Mit keep-subdirs=0 wird die Ordnerstruktur ignoriert und alle Dateien werden direkt im neuen Ordner ohne Unterordner gespeichert. Wenn wir den Parameter keep-subdirs weglassen, wird die Ordnerstruktur ignoriert (entspricht keep-subdirs=0).
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:\test.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.
Benutzerdefinierte Zeichen für Zeilenumbrüche
Neben den bisher verwendeten Konstanten für gebräuchliche Zeilenumbruchtypen wie beispielsweise crlf oder lf können auch beliebige benutzerdefinierte Zeichen für einen Zeilenumbruch verwendet werden. Diese Zeichen können sowohl in Form von Codepoints als auch in Form von Text definiert werden.
Im folgenden Beispiel lesen wir eine Datei mit dem Zeilenumbruch LF ein und möchten die Datei mit dem Zeilenumbruch CR LF speichern. Statt dafür die Konstanten lf und crlf zu verwenden, benutzen wir hier die Schreibweise mittels Codepoints, also #0A statt lf und #0D#0A statt crlf. Den Codepoints stellen wir "customcp-" voran, das ist das Präfix im TextEncoder, um den nachfolgenden Text als Codepoints zu interpretieren:
TextEncoder.exe -cl C:\test.txt lb-read=customcp-#0A lb=customcp-#0D#0A
Das Ergebnis der Konvertierung mit dieser Schreibweise ist natürlich identisch zu dem Ergebnis, das wir mit lb-read=lf lb=crlf bekommen. Auch der folgende Aufruf liefert uns wieder das gleiche Ergebnis:
TextEncoder.exe -cl C:\test.txt lb-read=customcp-10 lb=customcp-U+000DU+000A
Dieses Mal haben wir den Zeilenumbruch LF nicht hexadezimal (#0A) sondern dezimal (#0A = 10) definiert. Die dritte Möglichkeit, Codepoints zu definieren ist die Form U+X, so wie wir hier CR LF definiert haben.
Auch wenn wir in diesen Beispielen nur gebräuchliche Zeilenumbruchtypen in Form von Codepoints geschrieben haben, können wir natürlich auch jeden untypischen Zeilenumbruch in Form von einem oder mehrerer Codepoints definieren und für das Lesen oder Schreiben im TextEncoder verwenden.
Während wir mit dem Präfix customcp- Codepoints definieren können, können wir mit dem Präfix customstr- direkt jegliches beliebige Zeichen oder einen beliebigen Text als benutzerdefinierten Zeilenumbruch definieren. Ein Beispiel dafür ist der folgende Aufruf:
TextEncoder.exe -cl C:\test.txt lb-read=customstr-a lb=crlf
Mit diesem Aufruf ersetzen wir jedes Vorkommen des Buchstabens "a" in der Datei test.txt mit dem Windows-Zeilenumbruch CR LF. Wir interpretieren also den Buchstaben "a" als Zeichen für einen Zeilenumbruch.
Intern arbeiten customcp- und customstr- gleich, der Unterschied besteht ausschließlich auf Nutzerseite in der andersartigen Schreibweise und in der unterschiedlichen Art, Zeichen zu definieren. Es bietet sich aber an, customstr- nur für leserliche Zeichen wie beispielsweise "a" aus unserem Beispiel zu verwenden, während "unsichtbare" Zeichen einfacher über customcp- mittels Codepoints definiert werden können.
Dateien mit fixer Zeilenlänge konvertieren
Alle bisherigen Beispiele arbeiten mit Zeichen wie CR oder LF, die als Zeilenumbruch interpretiert werden. Mit dem TextEncoder ist es darüber hinaus aber auch möglich, Zeilenumbrüche ohne Zeichen zu verarbeiten. Die Rede ist von Zeilen, die durch eine feste Anzahl von Zeichen definiert sind.
Im folgenden Beispiel haben wir eine Datei, die kein Zeichen für einen Zeilenumbruch enthält. Stattdessen wissen wir, dass 15 Zeichen zu einer Zeile gehören und so immer nach 15 Zeichen eine neue Zeile beginnt. Wir möchten diese Datei konvertieren und entsprechend alle 15 Zeichen ein Zeichen für einen Zeilenumbruch (CR LF) einfügen:
TextEncoder.exe -cl C:\test.txt lb-read=fixedlength-15 lb=crlf
Wir benutzen für das Einlesen (lb-read) das Präfix "fixedlength-" und fügen diesem unsere gewünschte Zeilenlänge (hier 15) hinzu. Da wir die Datei mit dem Zeilenumbruch CR LF speichern möchten, schreiben wir als weiteren Parameter "lb=crlf".
Andersherum geht es übrigens natürlich auch:
TextEncoder.exe -cl C:\test.txt lb=nochar
Mit diesem Aufruf entfernen wir alle Zeilenumbrüche aus der Datei test.txt. Wir benutzen hier nur den Parameter "lb" für das Speichern mit dem Wert "nochar" für kein Zeichen. Den Parameter "lb-read" für das Einlesen lassen wir weg, dadurch wird der TextEncoder versuchen, den Zeilenumbruchtyp der Datei automatisch zu erkennen.
Zeilenumbruch an mehreren Zeichen
Normalerweise ist das für einen Zeilenumbruch verwendete Zeichen innerhalb von einer Datei eindeutig. Das kann zum Beispiel das Zeichen LF sein wie auf macOS, Linux und Unix- Systemen üblich oder CR LF in der Windows-Welt. Wie aber können wir mit Dateien umgehen, in denen verschiedene Zeilenumbruchtypen gemischt wurden? Zum Beispiel weil mehrere Dateien von verschiedenen Systemen aneinandergehängt wurden, ohne vorher die Zeilenumbrüche anzupassen?
Eine Lösung besteht darin, den Zeilenumbruchtyp einer Datei zu reparieren. Das geht mit dem TextEncoder mit dessen Möglichkeit, Zeilenumbrüche an mehreren verschiedenen Zeichen gleichzeitig einzulesen. Ein Aufruf kann folgendermaßen aussehen:
TextEncoder.exe -cl C:\test.txt lb-read=customcps-10,13 lb=crlf
Wir benutzen dafür das Präfix "customcps-" hinter das wir kommagtrennt beliebig viele Codepoints definieren können. Beim einlesen der Datei wird dann an jedem dieser Codepoints ein Zeilenumbruch realisiert. In unserem Beispiel sind es die beiden Codepoints 10 und 13. Speichern können wir dann anschließend mit einem beliebigen anderen Zeilenumbruchtyp. In unserem Beispiel nehmen wir CR LF.
Neben einer Definition über Codepoints können wir unsere Zeichen für einen Zeilenumbruch auch wieder über Text definieren. Dafür nehmen wir statt "customcps-" das Präfix "customstrs-":
TextEncoder.exe -cl C:\test.txt lb-read=customstrs-a,b,c lb=crlf
In diesem Beispiel möchten wir die Zeichen a, b und c als Zeilenumbruchzeichen betrachten und die Datei anschließend mit dem Zeilenumbruch CR LF speichern. Wir ersetzen also jedes Vorkommen der Buchstaben a, b oder c mit dem Windows-Zeilenumbruch.
Parameter und Einstellungsdateien
In allen bisherigen Beispielen haben wir die Einstellungen für die Kodierung, den Zeilenumbruchtyp oder die Speicherung über einzelne Parameter an den TextEncoder übergeben. Es ist aber auch möglich dafür eine oder mehrere Einstellungsdateien zu verwenden und nur den Pfad zu diesen Dateien zu übergeben anstatt mit den Parametern wie "lb", "enc" oder "save" zu arbeiten.
Einstellungsdateien können Sie direkt im TextEncoder erstellen. Stellen Sie dazu zunächst über die Benutzeroberfläche alle Einstellungen ein. Anschließend können Sie diese Einstellungen über das Menü "Einstellungen > Einstellungen speichern und laden > Als Datei speichern" abspeichern. Das Resultat ist eine Datei mit der Endung TES, die all ihre aktuellen Einstellungen zu Zeilenumbrüchen, Kodierung und Speicheroptionen enthält. Mehr über Einstellungsdateien erfahren Sie in dem Artikel "Einstellungen speichern und laden".
Wenn Sie eine Einstellungsdatei erstellt haben, können Sie diese einfach als Parameter übergeben:
TextEncoder.exe -cl C:\test.txt C:\einstellungen.tes
Mit diesem Aufruf konvertieren Sie die Datei "test.txt" gemäß der Einstellungen, die in der Datei "einstellungen.tes" gespeichert sind.
Natürlich ist auch eine Kombination von Einstellungsdateien und Parametern möglich. Hier ist ein Beispiel:
TextEncoder.exe -cl C:\test.txt C:\einstellungen.tes enc=utf8 save-ext=txt
Mit diesem Aufruf werden zunächst alle Einstellungen aus der Datei "einstellungen.tes" geladen. Anschließend wird die Kodierung für das Speichern über den Parameter "enc" sowie die verwendete Dateiendung für die gespeicherte Datei über den Parameter "save-ext" überschrieben. Die restlichen Einstellungen wie zum Beispiel der Name oder Ordner der neuen Datei oder die Einstellungen zum Zeilenumbruchtyp stammen aus der Datei "einstellungen.tes".
Wenn mehrere Einstellungsdateien übergeben werden, zählt die Reihenfolge. Erst wird der erste Parameter mit einer Einstellungsdatei geladen, dann der zweite und so weiter. Wenn alle Einstellungsdateien unabhängig von deren Position in den Parameter geladen sind, werden die zusätzlichen Parameter ausgewertet und können wiederum die bisher geladenen Einstellungen aus den Einstellungsdateien überschreiben. Natürlich können Sie die Einstellungsdateien auch manuell mit einem beliebigen Texteditor editieren, zum Beispiel um bestimmte Einstellungen zu entfernen und beispielsweise nur bestimmte Einstellungen zu behalten. Für alle fehlenden Einstellungen in den Einstellungsdateien wird der TextEncoder die Default-Werte verwenden.
Ausgabe von Dateiinformationen
Neben der Änderung der Kodierung oder des Zeilenumbruchtyps kann der TextEncoder auch dazu verwendet werden, Informationen über Textdateien in der Befehlszeile oder innerhalb eines Scripts auszugeben. Dazu gehören sowohl allgemeine Dateiinformationen wie die Größe von Dateien als auch Eigenschaften von Textdateien wie die Kodierung, der Zeilenumbruchtyp oder die Anzahl von Zeichen, Zeilen oder Wörtern.
Weitere Informationen zu diesem Thema sowie eine Erklärung der Möglichkeiten, Beispiele und eine Übersicht über alle Parameter, die Sie verwenden können, finden Sie im Tutorial über die Ausgabe von allgemeinen Dateiinformationen und textdateispezifischen Informationen über die Kommandozeile oder per Skript.
Ü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.
Parameter | Werte | Default | Beschreibung |
[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-matchall, 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. |
[TES-Dateien] | Einstellungsdateien mit der Dateiendung *.tes | - | Pfad zu einer Einstellungsdatei mit der Dateiendung TES, die Einstellungen für die Konvertierung und den Speicherort enthalten kann. Einstellungsdateien können mit allen anderen Parametern kombiniert und überschrieben werden. Es können mehrere Einstellungsdateien hintereinander angegeben werden, die dann hintereinander geladen werden. Mehr zur Verwendung und Generierung von Einstellungsdateien im Abschnitt "Parameter und Einstellungsdateien". |
lb | keep, system, crlf, lf, cr, nl, rnl, lf_ebcdic, eol, gs, rs, us, ff, nel, ls, ps, vt, tab, nochar, customstr-x, customcp-x | keep | Zeilenumbruch-Typ für die konvertierte Datei. Mit "keep" wird der Zeilenumbruch-Typ der Originaldatei beibehalten, ansonsten wird der angegebene Typ verwendet. 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. Die Konstante "nochar" steht für kein Zeichen. Sie können nochar verwenden, um alle Zeilenumbruchszeichen aus einer Datei zu entfernen. Mit "customstr-" und "customcp-" lassen sich benutzerdefinierte Zeichen für einen Zeilenumbruch über Text oder Codepoints definieren (das x steht für den benutzerdefinierten Text oder Codepoint). Eine Erklärung und Beispiele dafür finden Sie hier. Eine Übersicht über die verschiedenen Zeilenumbruch-Typen finden Sie hier. |
lb-read | auto, system, crlf, lf, cr, nl, rnl, lf_ebcdic, eol, gs, rs, us, ff, nel, ls, ps, vt, tab, fixedlength-x, customstr-x, customstrs-x, customcp-x, customcps-x | auto | Zeilenumbruch, 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. Mit "fixedlength-" kann ein Text mit fixer Zeilenlänge eingelesen werden (zum Beispiel "fixedlength-70" für 70 Zeichen pro Zeile). Eine Erklärung und Beispiele finden Sie hier. Mit "customstr-" und "customcp-" lassen sich benutzerdefinierte Zeichen für einen Zeilenumbruch über Text oder Codepoints für das Einlesen definieren (das x steht für den benutzerdefinierten Text oder Codepoint). Eine Erklärung und Beispiele finden Sie hier. Wenn Sie Dateien mit gemischten Zeilenumbruchtypen haben, können Sie "customstrs-" und "customcps-" verwenden. Damit lassen sich mehrere kommagetrennte benutzerdefinierte Zeilenumbrüche über Text oder Codepoints definieren, zum Beispiel "customcps-13,10". Ein Erklärung und Beispiele für die Anwendung finden Sie hier. |
enc | keep, ascii, latin1, latin2, win-ansi, win-1250, win-1251, win-1252, win-1253, cp437, utf7, utf8, utf16le, utf16be, utf32le oder utf32be | keep | Kodierung 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-read | auto, ascii, latin1, latin2, win-ansi, win-1250, win-1251, win-1252, win-1253, cp437, utf7, utf8, utf16le, utf16be, utf32le oder utf32be | auto | Kodierung, 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. |
bom | 0, 1 oder keep | keep | Soll eine Byte Order Mark in die Datei geschrieben werden? 0 für nie, 1 für immer, "keep" für wie in der Originaldatei. |
date | auto oder keep | auto | Mit date=keep wird jedes Datum der Originaldatei für die geänderte oder neu gespeicherte Datei übernommen. Wenn Sie diesen Parameter weglassen oder date=auto verwenden, richtet sich das Änderungsdatum der Datei nach dem Zeitpunkt der Bearbeitung und das Erstellungsdatum bleibt bei der ersten Erstellungzeit der Datei. |
save | Pfad 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-folder | keep oder beliebiger Ordner | keep | Ordner, 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. Mit dem Parameter keep-subdirs können Sie steuern, wie mit Unterordnern innerhalb des Ordners umgegangen werden soll. |
save-name | keep oder beliebiger Text | keep | Name 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-ext | keep oder beliebiger Text | keep | 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 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-subdirs | 0 oder 1 | 1 | Sollen 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. |
keep-subdirs | 0 oder 1 | 0 | Dieser Parameter kontrolliert ob die Ordnerstruktur aus einem ursprünglichen Ordner in einem neuen Ordner beibehalten werden soll oder nicht. Anwendungsfall: Es wird ein Ordner übergeben, dessen Inhalt konvertiert werden soll. Innerhalb dieses Ordners gibt es einen oder mehrere Unterordner mit beliebig vielen Ebenen. Außerdem sollen die Dateien in einem neuen oder in einem anderen Ordner gespeichert werden (definiert über den Parameter save-folder). Mit keep-subdirs=1 werden die Dateien im neuen Ordner in der selben Ordnerstruktur gespeichert, wie sie innerhalb des Originalordners gespeichert waren. Mit keep-subdirs=0 wird die Ordnerstruktur aus dem ursprünglichen Ordner ignoriert und alle Dateien werden direkt im Ordner gespeichert, der für die Speicherung definiert wurde. Beispiel: Die Datei C:\ordner\unterordner\datei.txt wird konvertiert. Fall A: Mit "TextEncoder.exe -cl C:\ordner enc=utf8 save-folder=C:\neu keep-subdirs=0" wird die neue Datei unter "C:\neu\datei.txt" gespeichert. Fall B: Mit "TextEncoder.exe -cl C:\ordner enc=utf8 save-folder=C:\neu keep-subdirs=1" wird die neue Datei unter "C:\neu\unterordner\datei.txt" gespeichert. |
filter-ext | beliebiger 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 Schrägstrich 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-name | beliebiger 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. Mehrere Suchbegriffe können mit einem Schrägstrich getrennt definiert werden (zum Beispiel filter-name=abc/def um alle Dateien zu finden, in deren Namen entweder "abc" oder "def" vorkommt). Wenn Sie diesen Parameter weglassen oder leer lassen, werden Dateien mit allen Namen berücksichtigt. |
filter-name-matchcase | 0 oder 1 | 0 | Soll der mit dem Parameter "filter-name" angegebene Text oder reguläre Ausdruck gemäß seiner Groß- und Kleinschreibung interpretiert werden? 0 für nein, 1 für ja. Falls 1 muss der Text/RegEx im Dateinamen genau so in der gleichen Schreibweise vorkommen. Falls 0 wird unabhängig von der Groß- und Kleinschreibung gesucht. |
filter-name-matchall | 0 oder 1 | 0 | Soll der mit dem Parameter "filter-name" angegebene Text oder reguläre Ausdruck dem Dateinamen komplett entsprechen? 0 für nein, 1 für ja. Falls 1 muss der gesamte Dateinamen den Suchbegriff vollständig matchen. Falls 0 ist es ausreichend wenn der Suchbegriff lediglich irgendwo im Dateinamen vorkommt. |
filter-name-regex | 0 oder 1 | 0 | Falls 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-hiddenfiles | 0 oder 1 | 0 | Sollen 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-onlytextfiles | 0 oder 1 | 1 | Sollen 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. |
openfile | 0 oder 1 | 0 | Soll die konvertierte Datei nach der Bearbeitung geöffnet werden? Mit openfile=1 wird die neu erstellte Datei geöffnet. |
delfile | 0 oder 1 | 0 | Soll 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. |
info | %enc%, %bom%, %encbom%, %lb%, %lines%, %chars%, %words%, Platzhalter für den Dateinamen und Ordner, Platzhalter für die Dateigröße, Platzhalter für das Datum und beliebiger Text frei kombinierbar | - | Mit dem Parameter "info" können Informationen über die übergebenen Dateien und die Dateien aus übergebenen Ordnern in der Konsole ausgegeben werden. Als Wert können die Platzhalter %enc% (Kodierung der Datei), %bom% (Ist eine Byte Order Mark vorhanden?), %encbom% (Kodierung und Byte Order Mark), %lb% (Zeilenumbruchtyp), %lines% (Anzahl der Zeilen), %chars% (Anzahl der Zeichen) und %words% (Anzahl der Wörter) sowie beliebiger Freitext miteinander kombiniert werden. Außerdem können die Platzhalter des TextKonverters für den Dateinamen, den Ordner, die Dateigröße und das Datum verwendet werden. Also zum Beispiel "info=%enc%" um ausschließlich die Kodierung anzuzeigen, "info=%encbom% %lb%" um Kodierung, Byte Order Mark und Zeilenumbruchtyp anzuzeigen oder "info=Die Datei %filename% hat %lines% Zeilen, %chars% Zeichen und %words% Wörter." um diesen Satz für eine Datei auszugeben. Eine detaillierte Erklärung und weitere Beispiele finden Sie im Tutorial über die Ausgabe von Dateiinformationen per Skript. Auch wenn sich die Beispiele in diesem Tutorial auf den TextKonverter beziehen, können alle Beispiele genauso auch mit dem TextEncoder verwendet werden. |
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.