Mit einer Batch nach Excel Dateien und deren Inhalt suchen

Mitglied: Temudschin79

Temudschin79 (Level 1)

03.03.2021 um 13:54 Uhr, 460 Aufrufe, 1 Kommentar

Guten Tag

Ich bin mir sicher, dass ich mit einer Batch-Datei nach Exceldateien suchen kann. Aber kann ich auch statt nach eindeutigen Namen etwas wie "*Review*.xls" suchen? Und wie kann ich dann einzelne Werte der Gefundenen Exceldatei in eine CSV-Datei schreiben?

Hintergrund:
Im Grunde möchte ich ein Verzeichnis mit Unterverzeichnissen nach allen Exceldokumenten suchen, die ein "Review" sein Könnten. Danach möchte ich die Version (Information in einer Zelle) Prüfen und bei gültiger Version bestimmte Informationen der Excel-Datei in eine CSV abspeichern. Das Ergebnis wäre eine CSV Datei mit folgenden Inhalt:
<Dateipfad der gefunden Excel Tabelle>;<Datei Name>;<Wert aus Blatt1 Zelle A5>;<Wert aus Blatt2 Zelle B1> ; usw.

Leider habe ich noch nie zuvor mit den Batch-Files gearbeitet. Daher würde ich bitten auch eine kleine Erklärung zu geben, was warum geschieht. Damit ich das Skript später auch mal selber anpassen und erweitern kann.

Vielen Lieben Dank an alle im Voraus.

Grüße
Temudschin79
1 Kommentar
Mitglied: rubberman
LÖSUNG 03.03.2021 um 19:40 Uhr
Mit Batch kannst du nach den dem Suchmuster entsprechenden Dateien suchen. FOR und DIR unterstützen Globbing (die Suche mit Wildcards wie *). Aber wenn es darum geht Daten aus dem Excelsheet zu lesen, ist Schluss mit Batch. Anders gesagt, mit der CMD und der überwiegenden Mehrheit der Consoletools die üblicherweise in Batchscripts verwendet werden, kannst du nur Plaintext verarbeiten. Und auch da möglichst nur Zeichen im ASCII Bereich. Um das zu verdeutlichen, öffne mal eine Exceldatei in einem Texteditor und versuche irgendwas aus dem Zeichensalat zu erkennen. Unmöglich.

Suche dir eine Sprache die COM Objekte unterstützt und weniger antiquiert ist als Batch. Wenn du das Forum mal nach "PowerShell Excel" durchsuchst, findest du sicher einen Einstieg. Ich könnte dir das nur mit VBS oder JS vorturnen, aber die sind schon genauso lange veraltet wie Batch (und ich selbst ;-) face-wink).

Steffen