Suchen und Verwenden des Dateidatums im Stapelbefehl
Problem
Ich versuche zu schreiben, was ich hoffte, könnte ein einfaches Batch-Programm mit XP-Kommandozeilen-Tools sein. Ich möchte das Datum einer bestimmten Datei finden. Wenn das Datum dieser Datei mit dem aktuellen Datum übereinstimmt, startet der Stapelverarbeitungsprozess ein Programm. Ich habe kein Glück gehabt. Welche Befehle muss ich verwenden, um dies zu tun?
Lösung
Sie können das genau folgende Skript verwenden. Speichern Sie dieses Skript in der Datei C: \ Scripts \ FileCheck.txt. Starten Sie die Bit-Skripterstellung.
Geben Sie den folgenden Befehl ein.
Skript FileCheck.txt
Es wird tun, was Sie brauchen. (Siehe den folgenden Skriptcode.) Biterscripting ist eine kostenlose Batch-Skriptumgebung. Befolgen Sie die Installationsanweisungen unter //www.biterscripting.com/install.html.
Schicken Sie mir eine E-Mail, wenn Sie Fragen haben.
Sen
Ich habe einige Debug-Anweisungen eingefügt, damit Sie sehen können, was das Skript tut. Sie können die Debug-Anweisungen entfernen, sobald Sie wissen, dass das Skript das tut, was es tun soll. Sie können dieses Skript sogar so planen, dass es einmal am Tag, einmal in der Woche usw. automatisch ausgeführt wird. Planen Sie den folgenden Befehl mit dem Taskplaner.
"C: \ biterscripting \ biterscripting.exe" "C: \ Scripts \ FileCheck.txt"
# START OF SCRIPT FileCheck.txt # Holen Sie sich das heutige Datum. var str heute; setze $ today = gettime (); chex "8]" $ today> $ today echo -e "DEBUG Today ist" $ today # Legen Sie den Dateinamen fest, dessen Datum überprüft werden soll. var str file; set $ file = "C: / Something / somefile" # ****** ENTER CORRECT FILE LOCATION OBEN ****** echo -e "DEBUG Das Datum der Datei überprüfen" $ file # Das Datum der Datei abrufen var str fledate; af -m $ file> $ filedate; chex "8]" $ filedate> $ filedate echo -e "DEBUG Dateidatum ist" $ filedate # Überprüfen Sie, ob das Dateidatum heute identisch ist. if ($ filedate == $ today) # Das Dateidatum ist dasselbe wie heute. echo -e "DEBUG Dateidatum ist dasselbe wie heute" # Stellt das Programm so ein, dass var str program gestartet wird; set $ program = "C: / Program Files / someprogram.exe" # ****** ENTER CORRECT PROGRAM LOCATION OBEN ********** # Starten Sie das Programm echo -e "DEBUG Starting program" $ Programmsystem ("" "+ $ program +" "") endif # END OF SCRIPT
Hinweis
Danke an SenHu für diesen Tipp im Forum.