Автоматически отвечая да на forfiles

Я надеюсь автоматически удалять файлы, более старые, чем 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)?
5
задан 18.06.2012, 23:46

1 ответ

Вы могли попытаться добавить в/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
6
ответ дан 09.01.2020, 03:28

Теги

Похожие вопросы