Ich glaube nicht, dass forfiles eine solche Option hat (Typ 'forfiles /?'). Als Problemumgehung können Sie (vorübergehend) eines der Systemattribute für diese Datei festlegen, z attrib +h donotdelete.txt
. Dadurch wird verhindert, dass Forfiles es löscht.
BAT-Datei: Löschen Sie alle Dateien in einem Verzeichnis, das älter als 5 Tage ist, mit Ausnahme einer Datei
1320
Jvd
Ich habe ein Verzeichnis mit vielen temporären Dateien. Alle Dateien, die älter als 5 Tage sind, können gelöscht werden, außer einer Datei 'DoNotDelete.txt'. Daher sollte ich meinem aktuellen Skript ein zusätzliches Argument hinzufügen:
forfiles /p "D:\tmp" /s /d -5 /c "cmd /c del @file : date >= 5 days >NUL"
Kann jemand dieses Argument liefern?
2 Antworten auf die Frage
0
Berend
Gibt es einen anderen Weg als die forfiles-Anweisung? VB-Skript?
Jvd vor 9 Jahren
0
Ja, VBScript kann dies definitiv tun, siehe http://msdn.microsoft.com/de-de/library/aa242706%28v=vs.60%29.aspx
Berend vor 9 Jahren
0
Berend, kannst du mir mit der unten stehenden Frage helfen?
Jvd vor 9 Jahren
0
0
Jvd
Ich habe bereits dieses VBScript, um diesen Ordner aufzuräumen. Wie kann ich den zusätzlichen Befehl hinzufügen, um die Datei 'DoNotDelete.txt' zu überspringen? Kannst du helfen?
Grüße, JvD
Dim fso, startFolder, OlderThanDate Set fso = CreateObject("Scripting.FileSystemObject") startFolder = "D:\tmp" ' folder to start deleting (subfolders will also be cleaned) OlderThanDate = DateAdd("d", -04, Date) ' 04 days (adjust as necessary) DeleteOldFiles startFolder, OlderThanDate Function DeleteOldFiles(folderName, BeforeDate) Dim folder, file, fileCollection, folderCollection Set folder = fso.GetFolder(folderName) Set fileCollection = folder.Files For Each file In fileCollection If file.DateLastModified < BeforeDate And StrComp(file.name,'donotdelete.txt', vbTextCompare) <> 0 Then fso.DeleteFile(file.Path) End If
Danke an Matthew Williams und Berend
Jvd vor 9 Jahren
0
Verwandte Probleme
-
3
Wie kann ich eine Verzeichnisstruktur "invertieren"?
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
7
Starten Sie den Synergy-Client beim Booten in Mac OS X
-
6
Welche zsh-Funktionen verwenden Sie?
-
4
Wie synchronisieren Sie GreaseMonkey-Skripts zwischen Computern?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?