Я надеюсь автоматически удалять файлы, более старые, чем 7 дней с forfiles
.
Код ниже работает, когда я делаю это вручную и отвечать да на удаление файлов. Как я могу включить да в это?
Это - вывод:
E:\>forfiles -p "H:\SHARED\Scans" -s -m *.* -d -7 -c "cmd /c del @path"
Could Not Find H:\SHARED\Scans\.DS_Store
H:\SHARED\Scans\XXX\DOC006.XSM\*, Are you sure (Y/N)?
Вы могли попытаться добавить в/Q/S, хотя знать, что это не может на самом деле сделать то, к чему Вы действительно хотите его:
/Q Quiet mode, do not ask if ok to delete on global wildcard
/S Delete specified files from all subdirectories
E:\forfiles -p "H:\SHARED\Scans" -s -m . -d -7 -c "cmd /c del /Q /S @path"
Вы - вероятно, более обеспеченный или использующий CSCRIPT (с Вашим выбором VBScript или JScript) или PowerShell. Проверьте этот ответ от StackOverflow: https://stackoverflow.com/questions/1575493/how-to-delete-empty-subfolders-with-powershell
Вот некоторый vbscript для выполнения подобной задачи:
Dim fso, folder, folders
Set fso = CreateObject("Scripting.FileSystemObject")
Set parent = fso.GetFolder("H:\SHARED\Scans")
Set folders = parent.SubFolders
' delete any folder older than 7 days
For Each folder in folders
If Abs(DateDiff("d",Date, folder.DateCreated)) > 7 Then
folder.Delete(True) 'force delete
End If
Next