web-dev-qa-db-ja.com

BATファイル:1つのファイルを除く5日より古いディレクトリ内のすべてのファイルを削除します

多くの一時ファイルを含むディレクトリがあります。 1つのファイル「DoNotDelete.txt」を除いて、5日より古いすべてのファイルを削除できます。したがって、現在のスクリプトに引数を追加する必要があります。

 forfiles /p "D:\tmp" /s /d -5 /c "cmd /c del @file : date >= 5 days >NUL"

誰かがこの議論を提供できますか?

2
Jvd

このフォルダをクリーンアップするためのこのVBScriptはすでにあります。 'DoNotDelete.txt'ファイルをスキップするコマンドを追加するにはどうすればよいですか?手伝ってくれますか?

よろしく、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 
0
Jvd