Ich habe eine Batch-Datei, die Operationen an einer bestimmten Datei jeden Tag ausführen muss. Bisher haben die Dateinamen das Muster EX_2017-08-30.DAT
gefolgt, das bedeutet, dass ich die folgende verwenden könnte den genauen Dateinamen für den Tag zu kommen:Abrufen eines Dateinamens in eine Variable mit einer Batch-Datei
set today=%date:~-4,4%-%date:~-10,2%-%date:~-7,2%
set filename=EZ_%today%.DAT
Jetzt bin ich die Dateinamen gesagt, ändert sich um einen Zeitstempel enthalten, wie als EX_2017-08-30-231859.DAT
. Die genaue Zeit wird jedoch vorher nicht bekannt sein (sie wird gesetzt, wenn ein bestimmter Prozess abgeschlossen ist).
Ich kann keinen Platzhalter in der Batchdatei verwenden, da der Dateiname in eine externe Datei geschrieben wird, damit eine andere Anwendung verwendet werden kann. Daher muss ich den genauen Dateinamen kennen. Gibt es trotzdem, dass ich eine Suche mit einem Platzhalter durchführen kann und den resultierenden vollständigen Dateinamen in einer Variablen speichern kann?
Ich glaube, ich habe Zugriff auf die Dateien aufzulisten, so scheint dies den Trick zu tun. Bevor ich diese Antwort annehme, würde ich vorschlagen, dass Sie 'echo %% i' in' set filename = %% i' ändern, damit es meine Frage direkter beantwortet (indem Sie den Dateinamen auf eine Variable setzen und nicht nur Dateinamen auflisten). – techturtle
@techturtle: Cool, ich habe genau das getan. Ich habe auch auf mögliche Probleme mit diesem Ansatz hingewiesen. –