- Beiträge: 132
Dateiname als Parameter
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
8 Jahre 11 Monate her #2553
von Ralf Birk
Dateiname als Parameter wurde erstellt von Ralf Birk
Hallo Herr Stark,
ich komme mal wieder bei einem Projekt nicht weiter.
Vermutlich ist es nur eine kleinigkeit. Hier meine Frage:
Uber den Batchparameter /ReadFileName C:\Testordner\\Eingang\*.sel test.fhd starte ich den FH.
Dieser nimmt auch wunderschön die TXT-Datei. Ich sollte jetzt den Dateinamen (am besten ohne die Endung .sel) als String in eine Datenspalte einfügen und diesen auch im Outputname verwenden.
Geht dies über den Get-Parameter und wenn ja...Wie?
Freue mich schon auf Ihre Antwort
Gruß Ralf B.
ich komme mal wieder bei einem Projekt nicht weiter.
Vermutlich ist es nur eine kleinigkeit. Hier meine Frage:
Uber den Batchparameter /ReadFileName C:\Testordner\\Eingang\*.sel test.fhd starte ich den FH.
Dieser nimmt auch wunderschön die TXT-Datei. Ich sollte jetzt den Dateinamen (am besten ohne die Endung .sel) als String in eine Datenspalte einfügen und diesen auch im Outputname verwenden.
Geht dies über den Get-Parameter und wenn ja...Wie?
Freue mich schon auf Ihre Antwort
Gruß Ralf B.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 11 Monate her - 8 Jahre 11 Monate her #2554
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Dateiname als Parameter
Hallo Herr Birk,
um den Dateinamen dynamisch vom READ TextFile Adapter zu verwenden benötigen Sie den .NET Script Heater und eines der unten aufgeführten Skripte. Im Anhang finden Sie ein kleines Beispiel dazu.
Dateiname so wie im Adapter angegeben
Dateiname ohne Erweiterung
Kompletter Dateipfad
Kompletter Pfad ohne Dateiname
um den Dateinamen dynamisch vom READ TextFile Adapter zu verwenden benötigen Sie den .NET Script Heater und eines der unten aufgeführten Skripte. Im Anhang finden Sie ein kleines Beispiel dazu.
Dateiname so wie im Adapter angegeben
Code:
public object DoWork()
{
TextFileAdapter adapter = (TextFileAdapter)AdapterRead;
return adapter.Filename;
}
Dateiname ohne Erweiterung
Code:
public object DoWork()
{
TextFileAdapter adapter = (TextFileAdapter)AdapterRead;
return Path.GetFileNameWithoutExtension(adapter.Filename);
}
Kompletter Dateipfad
Code:
public object DoWork()
{
TextFileAdapter adapter = (TextFileAdapter)AdapterRead;
return Path.GetFullPath(adapter.Filename);
}
Kompletter Pfad ohne Dateiname
Code:
public object DoWork()
{
TextFileAdapter adapter = (TextFileAdapter)AdapterRead;
return Path.GetDirectoryName(Path.GetFullPath(adapter.Filename));
}
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Letzte Änderung: 8 Jahre 11 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 132
8 Jahre 11 Monate her #2555
von Ralf Birk
Ralf Birk antwortete auf Dateiname als Parameter
Hallo Herr Stark,
vielen Dank.... Funktioniert wie es sein sollte.
Hinter ihrem Netscript extrahiere ich den Benötigten Teil des Dateinamens als Substring und schreibe diesen in ein Datenfeld.
Besteht auch die Möglichkeit, den Parameter für den Writeadapter zu verwenden ?
Ich habe leider noch nicht heraus bekommen was ich zwischen die $$ schreiben soll.
Gruß Ralf B.
vielen Dank.... Funktioniert wie es sein sollte.
Hinter ihrem Netscript extrahiere ich den Benötigten Teil des Dateinamens als Substring und schreibe diesen in ein Datenfeld.
Besteht auch die Möglichkeit, den Parameter für den Writeadapter zu verwenden ?
Ich habe leider noch nicht heraus bekommen was ich zwischen die $$ schreiben soll.
Gruß Ralf B.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 11 Monate her #2556
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Dateiname als Parameter
Hallo Herr Birk,
Die WRITE Seite kann auch abgefragt bzw. gesetzt werden.
Wenn Sie lediglich dynamisch abfragen möchten welche Datei gerade geschrieben wird können Sie die oben genannten Skripte verwenden, Sie müssen lediglich im Skript alle vorkommen von „ReadAdapter“ durch „WriteAdapter“ ersetzen.
Wenn Sei den Export Dateinamen dynamisch zu erzeugen möchten müssen Sie eine Parameter setzen, der Parametername ist dabei frei wählbar. Wenn Sie nun in der Definition den Parameter „XYZ“ setzen können Sie den Inhalt des Parameters auf der WRITE Seite über $XYZ$ im Dateinamen verwenden. Das geht auch zusammengesetzt z.B. C:\Temp\$XYZ$\output.csv
Hier finden Sie ein Beispiel wie dynamisch mehrere CSV Dateien mittels einer Definition exportiert werden können: CSV Export auf mehrere Dateien aufteilen (splitten)
Nachtrag zu den Skripten) Das geht natürlich auch mit dem Excel Adapter , hier die Skripte die verwendet werden müssen wenn der Excel Adapter auf der READ Seite verwendet wird. Ein Beispiel gibt’s im Anhang.
Dateiname so wie im Adapter angegeben
Dateiname ohne Erweiterung
Kompletter Dateipfad
Kompletter Pfad ohne Dateiname
Die WRITE Seite kann auch abgefragt bzw. gesetzt werden.
Wenn Sie lediglich dynamisch abfragen möchten welche Datei gerade geschrieben wird können Sie die oben genannten Skripte verwenden, Sie müssen lediglich im Skript alle vorkommen von „ReadAdapter“ durch „WriteAdapter“ ersetzen.
Wenn Sei den Export Dateinamen dynamisch zu erzeugen möchten müssen Sie eine Parameter setzen, der Parametername ist dabei frei wählbar. Wenn Sie nun in der Definition den Parameter „XYZ“ setzen können Sie den Inhalt des Parameters auf der WRITE Seite über $XYZ$ im Dateinamen verwenden. Das geht auch zusammengesetzt z.B. C:\Temp\$XYZ$\output.csv
Hier finden Sie ein Beispiel wie dynamisch mehrere CSV Dateien mittels einer Definition exportiert werden können: CSV Export auf mehrere Dateien aufteilen (splitten)
Nachtrag zu den Skripten) Das geht natürlich auch mit dem Excel Adapter , hier die Skripte die verwendet werden müssen wenn der Excel Adapter auf der READ Seite verwendet wird. Ein Beispiel gibt’s im Anhang.
Dateiname so wie im Adapter angegeben
Code:
public object DoWork()
{
ExcelAdapter adapter = (ExcelAdapter )AdapterRead;
return adapter.Workbook;
}
Dateiname ohne Erweiterung
Code:
public object DoWork()
{
ExcelAdapter adapter = (ExcelAdapter )AdapterRead;
return Path.GetFileNameWithoutExtension(adapter.Workbook);
}
Kompletter Dateipfad
Code:
public object DoWork()
{
ExcelAdapter adapter = (ExcelAdapter )AdapterRead;
return Path.GetFullPath(adapter.Workbook);
}
Kompletter Pfad ohne Dateiname
Code:
public object DoWork()
{
ExcelAdapter adapter = (ExcelAdapter )AdapterRead;
return Path.GetDirectoryName(Path.GetFullPath(adapter.Workbook));
}
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 132
8 Jahre 11 Monate her - 8 Jahre 11 Monate her #2557
von Ralf Birk
Ralf Birk antwortete auf Dateiname als Parameter
Vielen Dank Herr Stark,
auch dieser Punkt meines Projekts hat dank ihrer Hilfe geklappt.
Das Wäre der vorletzte Schritt gewesen.
Denke, das ich mit dem letzten Punkt doch an die Grenzen des Programms gestoßen bin.
Ich babe eine Txt Datei mit diversen Adaptern bearbeitet und am ende in 2 Dateien geteilt.
Die eine Datei wird zum sortieren mit einer eindeutigen ID, Str,PLZ und ort an einen fremden Server übertragen (Aus Datenschutzgründen ohne Namen und weiteren Angaben).
Die Daten bekomme ich dann mit diversen Feldern angereichert zurück.
Diese müsste ich das mit meiner 2. Datei wieder zusammenführen.
Leider ist ja auch dem letzten Update der 2. Read-Adapter noch nicht implementiert.
Über den Replace-Adapter kann ich das zwar erledigen. Hierbei habe ich bei bis zu 40.000 Datensätzen und ca 20 Datengelder die ich auf die andere Datenbank übertragen muss einen Rechenaufwand von ca 2,5 Std.
Die erzeugten Daten in Excel mit Sverweis zu verketten ist zwar um einiges schneller aber relativ schlecht zu händeln.
In Access benötigt der Vorgang nur Sekunden. Leider ist hier auch einiges an "Handarbeit" angesagt.
Da verschiedene Personen diesen Prozess handeln müssen ist die Möglichkeit von "Fehlgriffen relativ hoch.
Gibt es vielleicht auch hierzu noch einen Trick im FH ?
Wenn dies noch funktionieren würde könnte ich das Projekt endlich abschließen.
PS.: Hätte ich hierzu vielleicht lieber ein eigenes Thema aufmachen sollen?
Ein über jeden Tip unendlich dankbarer
Ralf.B
auch dieser Punkt meines Projekts hat dank ihrer Hilfe geklappt.
Das Wäre der vorletzte Schritt gewesen.
Denke, das ich mit dem letzten Punkt doch an die Grenzen des Programms gestoßen bin.
Ich babe eine Txt Datei mit diversen Adaptern bearbeitet und am ende in 2 Dateien geteilt.
Die eine Datei wird zum sortieren mit einer eindeutigen ID, Str,PLZ und ort an einen fremden Server übertragen (Aus Datenschutzgründen ohne Namen und weiteren Angaben).
Die Daten bekomme ich dann mit diversen Feldern angereichert zurück.
Diese müsste ich das mit meiner 2. Datei wieder zusammenführen.
Leider ist ja auch dem letzten Update der 2. Read-Adapter noch nicht implementiert.
Über den Replace-Adapter kann ich das zwar erledigen. Hierbei habe ich bei bis zu 40.000 Datensätzen und ca 20 Datengelder die ich auf die andere Datenbank übertragen muss einen Rechenaufwand von ca 2,5 Std.
Die erzeugten Daten in Excel mit Sverweis zu verketten ist zwar um einiges schneller aber relativ schlecht zu händeln.
In Access benötigt der Vorgang nur Sekunden. Leider ist hier auch einiges an "Handarbeit" angesagt.
Da verschiedene Personen diesen Prozess handeln müssen ist die Möglichkeit von "Fehlgriffen relativ hoch.
Gibt es vielleicht auch hierzu noch einen Trick im FH ?
Wenn dies noch funktionieren würde könnte ich das Projekt endlich abschließen.
PS.: Hätte ich hierzu vielleicht lieber ein eigenes Thema aufmachen sollen?
Ein über jeden Tip unendlich dankbarer
Ralf.B
Letzte Änderung: 8 Jahre 11 Monate her von Ralf Birk. Begründung: Ergänzung
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
8 Jahre 11 Monate her #2558
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Dateiname als Parameter
Hallo Herr Birk,
auch das geht Sie benötigen den Umweg über eine SQLite Datenbank . Hier finden Sie ein Beispiel dazu wie eine Excel und eine CSV Datei miteinander verknüpft werden.
Beispiel: CSV und Excel Daten über SQLite Datenbank zusammenführen
Hinweis: Im SQLite Adapter ist es möglich, dass Datenbank, Tabellen und Felder dynamisch erzeugt werden, es sind keine weiteren Voraussetzungen wie Treiber notwendig!
PS: Ja, eine eigenes Thema wäre für diese Anfrage besser gewesen.
auch das geht Sie benötigen den Umweg über eine SQLite Datenbank . Hier finden Sie ein Beispiel dazu wie eine Excel und eine CSV Datei miteinander verknüpft werden.
Beispiel: CSV und Excel Daten über SQLite Datenbank zusammenführen
Hinweis: Im SQLite Adapter ist es möglich, dass Datenbank, Tabellen und Felder dynamisch erzeugt werden, es sind keine weiteren Voraussetzungen wie Treiber notwendig!
PS: Ja, eine eigenes Thema wäre für diese Anfrage besser gewesen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.294 Sekunden