Die Applikationsklasse von ExchangeFileContents.
Mehr ...
#include <EfcApp.h>
|
class | EfcCallBackFileFount |
| Klasse um gefundene Dateien zu bearbeite; wird an eut::FileHelper::iterateDirectory( const fs::path & rIterPath, bool bRecursive, CallBackFileDirFount & rProcessingObject ) übergeben. Mehr ...
|
|
|
| EfcApp (const std::vector< std::wstring > &rArgVector) |
|
virtual | ~EfcApp () |
|
int | exec () |
|
Die Applikationsklasse von ExchangeFileContents.
◆ EfcApp() [1/3]
EfcApp::EfcApp |
( |
const std::vector< std::wstring > & | rArgVector | ) |
|
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | rArgVector | Die der Applikation übergebenen Argumente (Parameter).
Aufbau:
- rArgVector[0] Die Datei, deren Inhalt geändert werden soll (z.B. 'c:/dir/filename.txt').
- rArgVector[1] Der Ausdruck, welcher in den Daten aus rArgVector[0] mit den Daten aus rArgVector[2] ausgetauscht werden soll.
Format: Der Parameter rArgVector[1] muss immer mit 'text:' bzw. 't:', 'hex:' bzw. 'h:' oder 'file:' bzw. 'f:' beginnen.
- Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als auszutauschender Text genommen. Z.B. 'text:alter Text' ergibt'alter Text'.
- Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der folgende Text nach 'hex:' bzw. 'h:' als Hexadezimalzahl-Folge interpretiert, der ausgetauscht werden soll. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
- Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als auszutauschender Text genommen.
- rArgVector[2] Der auszutauschende Inhalt.
Format: Der Parameter rArgVector[2] muss immer mit 'text:' bzw. 't:' oder 'file:' bzw. 'f:' beginnen.
- Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als neuer Text genommen. Z.B. 'text:neuer Text' ergibt'neuer Text' als neuen Text.
- Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der urspruengliche Inhalt (der zweite Parameter 'AlterInhalt') durch die Hexadezimalzahl- Folge nach 'hex:' bzw. 'h:' ersetzt. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
- Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als neuer Text genommen.
- rArgVector[3] Optional die Datei, in die der geänderte Inhalt aus rArgVector[0] gespeichert werden sollen.
- rArgVector[n] Desweiteren können folgende Parameter übergeben werden:
- -r Es werden auch Unter-Verzeichnisse rekursiv durchsucht.
- -v Zeigt an, ob und wie oft der Inhalt der Datei geändert wurde.
- -v+ Zeigt auch die übersprungenen Dateien an.
- -s Stoppt bei einem Fehler und wartet auf einen Tastendruck.
- -f Wenn Parameter [Zieldatei] gesetzt wird, wird eine vorhandene Zieldatei nur dann überschrieben, wenn dieser Parameter übergeben wird. Ansonsten keine Auswirkung.
- -nop Die Verarbeitung wird nur simuliert, es werden keine Dateien verändert oder angelegt.
|
◆ ~EfcApp()
virtual EfcApp::~EfcApp |
( |
| ) |
|
|
virtual |
Destruktor, der Speicher wird aufgeräumt.
◆ EfcApp() [2/3]
Der Standard-Konstruktor steht nicht zur Verfügung.
◆ EfcApp() [3/3]
EfcApp::EfcApp |
( |
const EfcApp & | | ) |
|
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ exec()
Startet die Application. Es werden die Parameter geprüft und angepasst und dann eut::FileHelper::iterateDirectory(const fs::path &, bool, CallBackFileDirFount &) aufgerufen (u.a. mit Übergabe von einem EfcApp::EfcCallBackFileFount als Parameter).
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
◆ getFileNameAndExtension()
void EfcApp::getFileNameAndExtension |
( |
std::wstring & | rsFileName, |
|
|
std::wstring & | rsExtension, |
|
|
const fs::path & | rFileSystemPath ) |
|
private |
Liefert aus übergebenen Filesystem-Pfad den Dateinamen und die Extension. Diese Funktion gibt es, damit bei einerm Dateinamen == "*" auch eine Extension ".*" geliefert wirde.
- Parameter
-
[in,out] | rsFileName | Der ermittelte Dateiname. |
[in,out] | rsExtension | Die ermittelte Extension-Bezeichnung. |
[in] | rFileSystemPath | Der Pfad, aus dem die Datei- und Extension-Bezeichnung ermittelt werden soll. |
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ showHelp()
void EfcApp::showHelp |
( |
| ) |
|
|
private |
Zeigt die Befehlssyntax von efc an.
◆ showResult()
void EfcApp::showResult |
( |
int | iResultCode, |
|
|
const std::string & | rsCurrentFile ) |
|
private |
Zeigt an, wie oft ein Austausch stattgefunden hat bzw. wenn ein Fehler aufgetreten ist, eine Fehlermeldung.
- Parameter
-
[in] | iResultCode | Der Fehlercode. |
[in] | rsCurrentFile | Die Bezeichnung der aktuell bearbeiteten Datei. |
◆ m_bSimulate
Wenn true, wird die Verarbeitung nur simuliert, also keine Änderungen gespeichert (Voreinstellung ist 'false').
◆ m_bStopOnError
bool EfcApp::m_bStopOnError |
|
private |
Wenn true, wird bei Fehlern die Verarbeitung angehalten und auf einen Tastendruck gewartet (Voreinstellung ist 'false').
◆ m_iVerboseMode
int EfcApp::m_iVerboseMode |
|
private |
Der Ausgabemodus (Voreinstellung ist 0).
- 0 -> Nichts anzeigen
- 1 -> nur gefundene Dateien anzeigen
- 2 -> alles anzeigen (auch skipped)
◆ m_ParaVector
std::vector<std::wstring> EfcApp::m_ParaVector |
|
private |
Ein Vector mit den Parametern.
◆ m_sFileExtensionFilter
std::wstring EfcApp::m_sFileExtensionFilter |
|
private |
Der Dateiextension Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.
◆ m_sFileNameFilter
std::wstring EfcApp::m_sFileNameFilter |
|
private |
Der Dateinamen Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.
◆ m_sLanguage
std::string EfcApp::m_sLanguage |
|
private |
Die ermittelte Sprache (Voreinstellung ist "en" für englisch).
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: