Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Dateiname als Parameter

Mehr
8 Jahre 3 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.

Bitte Anmelden um der Konversation beizutreten.

Mehr
8 Jahre 3 Monate her - 8 Jahre 3 Monate her #2554 von FlowHeater-Team
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
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)); }

Dateianhang:

Dateiname: read-datei...agen.zip
Dateigröße:2 KB

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 3 Monate her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

Mehr
8 Jahre 3 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.

Bitte Anmelden um der Konversation beizutreten.

Mehr
8 Jahre 3 Monate her #2556 von FlowHeater-Team
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
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)); }

Dateianhang:

Dateiname: read-excel...agen.zip
Dateigröße:9 KB

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 um der Konversation beizutreten.

Mehr
8 Jahre 3 Monate her - 8 Jahre 3 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 vieleicht 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 vieleicht lieber ein eigenes Thema aufmachen sollen?

Ein über jeden Tip unendlich dankbarer

Ralf.B
Letzte Änderung: 8 Jahre 3 Monate her von Ralf Birk. Begründung: Ergänzung

Bitte Anmelden um der Konversation beizutreten.

Mehr
8 Jahre 3 Monate her #2558 von FlowHeater-Team
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.

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 um der Konversation beizutreten.

Ladezeit der Seite: 0.318 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.