Mehrere Dateien öffnen und Dateinamen vergleichen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo zusammen,
Ich muss mehrere Dateien aus einem bestimmten Ordner öffnen (insbesondere .csv-Dateien). Ich möchte auch einige Informationen aus den Dateinamen der auszuwertenden Dateien extrahieren.
Momentan habe ich das ...
Aktuelles Verzeichnis festlegen ("C: \ Jan_24th \");
Dateien = Dateien im Verzeichnis ("C: \ Jan_24th");
für (i = 1, i <= N Elemente (Dateien), i ++,
Öffnen(
Dateien .
.........
1 Dadurch können alle Dateien geöffnet werden, die ich im Ordner habe. Aber das Problem ist, dass es jede Datei öffnen kann, die ich in meinem Ordner habe, nicht nur .csv-Dateien.
2 Ich möchte ein Textfeld in meinem Journal erstellen, das auf dem aktuellen Dateinamen basiert:
Zum Beispiel if (files == "Red_color.csv", Textfeld ("Rot") << Journal;);
if (Dateien == "Green_color.csv", Textfeld ("Grün") << Journal;);
if (Dateien == "Blue_color.csv", Textfeld ("Blue") << Journal;);
Ich kann das nicht zum Laufen bringen .... Es muss auch eine elegante Möglichkeit geben (# 2), anstatt mehrere For-Loops zu verwenden. Ich bin nicht sicher, ob der Befehl "substr" hier verwendet werden könnte.
Vielen Dank!
Mehrere Dateien öffnen und Dateinamen vergleichenDer Unterschied ist, dass mit der Ersetzungszeichenfolge "\ 1" die Funktion nur das zurückgibt, was sich in den ersten Klammern befindet. Es würde auch ohne "\ 1" funktionieren, aber Sie würden im aktuellen Beispiel zB "Red_" anstatt nur "Red" bekommen.
Mehrere Dateien öffnen und Dateinamen vergleichenVielen Dank an MS ... es funktionierte wie ein Zauber.
Nur eine Frage eines Neulings, warum haben Sie die \ 1 in Ihrem Regex verwendet? Warum müssen Sie (. +?) Erneut suchen? Es ist nicht biggie, aber etwas, von dem ich dachte, ich würde fragen
Mehrere Dateien öffnen und Dateinamen vergleichenIch denke, Ends With () kann für # 1 verwendet werden, wenn die Dateinamen von CSV-Dateien immer mit .csv enden. Regex ist vielseitiger als Substrate für # 2. Ein Beispiel:
Legen Sie das Standardverzeichnis fest ( "C: \ Jan_24th" ) ;
Dateien = Dateien im Verzeichnis ( "C: \ Jan_24th" ) ;
Zum ( ich = 1 . ich <= N Artikel ( Dateien ) . ich ++
Ob ( Endet mit ( Dateien [ ich ] . ".csv" ) .
Öffnen ( Dateien [ ich ] ) ;
Textfeld ( Regex ( Dateien [ ich ] . "(. +?) _" . "\ 1" ) ) << Tagebuch ; // Der gesamte Text vor dem ersten "_" in der Datei ich Der Name ist in einem Journal eingetragen
)
) ;