Batch erstellen

Hakimoto

Newbie
Registriert
Feb. 2019
Beiträge
6
Servus zusammen,

ich hätte eine Frage bzgl. einer Batchdatei die ich verzweifelt versuche zu schreiben.
Folgendes Anliegen:

Ich bekomme täglich einen Report (Excel Datei), welche ich in ein von mir erstelles Verzeichnis ablege und mittels einer Batch datei aus einem Programm heraus aufrufe. Nach Abschluss der Analyse benötige ich diesen nicht mehr. D.h. dieser wird nach Befundung verworfen.
Am darauf folgendem Tag erhalte ich einen weiteren Report. Der KLU: Der Report welcher generiert wird, hat eine forlaufende Kennziffer.
D.h. widerrum ich müsste jedes mal in meiner Batch Datei mein Filename anpassen um diesen wieder aufrufen zu können.
Gibt es hier eine möglichkeit nur den Anfang der Datei zu lesen und die Ziffern zu ignorieren ? Eine Art Abgleich oder sonst dergleichen ?
Code erwünscht :)

Besten Dank im voraus schon mal und beste Grüße
Hakimoto
 
Du kannst mit *eine Wildcard definieren.
 
Ich verstehe nicht ganz, was du tust/willst.
mittels einer Batch datei aus einem Programm heraus aufrufe
Du rufst mit einem Programm (welches überhaupt, bzw. welche Art?) die Batch Datei auf? Die ruft dann Excel mit der Excel Datei auf, oder wie? Wirkt für mich ein wenig von hinten durch die Brust ins Auge.
D.h. widerrum ich müsste jedes mal in meiner Batch Datei mein Filename anpassen um diesen wieder aufrufen zu können.
Was hat das jetzt mit den Filename zu tun? Hat die Excel Datei etwa einen Dateinamen, der eine Fortlaufende Nummer enthält? Bisher las sich das nämlich so, als stände die fortlaufende Nummer im "KLU".
Gibt es hier eine möglichkeit nur den Anfang der Datei zu lesen und die Ziffern zu ignorieren ? Eine Art Abgleich oder sonst dergleichen ?
Den Anfang der Datei oder des Dateinamens? Letzteres ist recht einfach möglich, den Code findest du schnell per Google, das hab ich jetzt nicht auswendig parat. Aber per Batch in eine Excel Datei zu gucken wird schwierig bis unmöglich.
Wieso öffnest du nicht einfach die Excel Datei direkt nochmal, wenn sie doch noch existiert?
 
Genau richtig interpretiert.

Der Dateiname ist der "KLU" da dieser eine fortlaufende Zahl enthält.
Diese würde ich gerne ignorieren und nur den Anfang Abgleichen. Wenn dieser übereinstimmt, so öffnet die Batch das File.
 
Könnte es sein, dass der Anfang des Dateinamens bei allen KLUs gleich ist, und daher die fortlaufende Nummer nötig wird? Falls ja: Wenn die Batch Datei jetzt in einem Ordner mit ganz vielen KLUs schaut, woher soll sie wissen, welche Datei sie öffnen muss, wenn das einzige Unterscheidungsmerkmal ignoriert wird?
 
BSP:

Report_opm135_000000111111222222.xml (Montag)

Report_opm135_000000151515262626.xml (Dienstag)

Meine Batch lautet:

start "C:\Program Files\NetLimiter 4\Report_opm135_000000111111222222.xml"

Ich denke der Fehler fällt sofort ins Auge.
Die Batch von Montag kann ich problemlös öffnen da der Name in der Batch datei übereinstimmt.
Nach Analyse lösche ich die xml Datei im Verzeichnis.
Am Dienstag lade ich nun den 2ten Report hoch. (000000151515262626)
Diesen wird er aber nicht öffnen da die Batch Datei immer noch den Dateinamen vom Vortag notiert.

Ich sehe die einzige Möglichkeit hier, das die Batch nur den Anfang des Namens liest (Report_opm135)
und diesen aufgrund eines Abgleichs öffnet. Ohne die Ziffer weiter zu beachten.

Und hierzu finde ich leider nichts
 
Ich meine mit das mit dem * so:
Code:
start "C:\Program Files\NetLimiter 4\Report_opm*.xml"
Müsste man prüfen ob das geht.
Wobei @Grimba da recht hat, wenn da mehr als eine passende Datei im Ordner ist, geht das nicht.
Dann könnte man ggf. mit ner Schleife die neuste Datei finden und die öffnen.
 
Servus zusammen,
sieht jetzt so aus bei mir :

Open "C:\Users\EVur\Desktop\Reports\OP13_201902???710_201902????1000.zip"

Funktioniert aber leider nach wie vor nicht.

Please help bin am verzweifeln :)
 
Du hast schon bemerkt, dass die Lösung, die dir hier einmal in deutscher und einmal in englischer Sprache verlinkt wurde, mit Wildcards arbeitet, also mit * , so wie es auch @Nilson schon ganz richtig vorgeschlagen hat? Die ? Wildcard kannst du zwar auch nehmen, allerdings ersetzt die nur einen Character, das muss also immer genau passen, und löst nicht dein Problem, das da lautet:
nur den Anfang der Datei zu lesen
wobei hier mit Datei der Dateiname gemeint war.

Warum setzt du diese Lösungen nicht einfach mal um?

Mit deinem einzelnen Befehl da wirst du nicht weit kommen. Wie wäre es, wenn du einem konkreten ZIP Programm mal den Dateinamen mit den Wildcards zuweist? Weil so, wie es jetzt da steht, hast du einfach keine konkrete Datei zum Öffnen, da der Name nicht korrekt aufgelöst wurde. Wenn du das so machst, muss der Dateiname eindeutig sein.
Und wieso ist es auf einmal eine ZIP Datei? Die Rede war zunächst von Excel Tabellen, dann sind's auf einmal XML-Dateien und jetzt ZIP Archive.... :rolleyes:

Da soll noch einer hinterherkommen.... ich bin raus.
 
Zuletzt bearbeitet:
Servus und sorry nochmals,

mit Wildcards(*) habe ich es ebenso probiert. Dies funktioniert leider auch nicht.
Ganau genommen sind dies xlsm dateien
 
Zurück
Oben