Kann ich Ihre Hilfe und Ihr Know-how bei der Erstellung einer Batch-Datei für die unten stehende bitte haben?
Ich habe unten Dateien in einem Ordner \\abcdef123\test\root\child\source
AC_FDM_TREE_EXTRACT_20161216203034.touch
AC_FDM_TREE_EXTRACT_20170118204420.touch
AC_FDM_TREE_EXTRACT_20170214204730.touch
PS_Z_VT_SUPER_TREE_20161216203034.txt
PS_Z_VT_SUPER_TREE_20170118204420.txt
PS_Z_VT_SUPER_TREE_20170214204730.txt
Ich möchte alle Dateien außer dem aktuellen Monat dynamisch löschen. Dh, wenn JJJJMM der aktuelle Monat ist, löschen Sie alle Dateien (ohne Unterordner), die nicht JJJJMM entsprechen . *
Es ist unwahrscheinlich, dass Dateien mit zukünftigen Daten generiert werden. Aber wenn es ein schneller Gewinn ist, kann man sagen, alle Dateien löschen, bevor der aktuelle Monat noch besser ist.
windows
batch
batch-file
Lerner16
quelle
quelle
Antworten:
Hier ist ein PowerShell-Skript, das dies ausführt:
Die erste Zeile ändert den Ordner in "\ abcdef123 \ test \ root \ child \ source"
In der zweiten und dritten Zeile (zweiter Absatz) werden das aktuelle Jahr und der aktuelle Monat des Gregorianischen Kalenders im Format "jjjjMM" angezeigt, wobei "jjjj" ein vierstelliges Jahr und "MM" ein zweistelliger Monat ist.
Die vierte Zeile (letzter Absatz) löscht alle Dateien im aktuellen Ordner mit Ausnahme derjenigen, die dem Muster " jjjjMM " entsprechen.
In der letzten Zeile kehren Sie zu dem Ordner zurück, in dem Sie gestartet haben.
quelle