Respondendo automaticamente sim para forfiles

3

Estou procurando excluir arquivos com mais de 7 dias com forfiles .

O código abaixo funciona quando eu o faço manualmente e respondo sim para excluir os arquivos. Como posso incorporar o sim nisso?

Esta é a saída:

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)?
    
por PHLiGHT 05.01.2011 / 17:25

3 respostas

4

Você pode tentar adicionar em um / Q / S, embora esteja ciente de que isso pode não realmente fazer o que você realmente quer:

/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"

Provavelmente, é melhor usar o CSCRIPT (com sua opção de VBScript ou JScript) ou o PowerShell. Confira esta resposta do StackOverflow: link

Aqui está um vbscript para realizar uma tarefa semelhante:

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
    
por 05.01.2011 / 17:54
0

Este exemplo remove todos os arquivos na pasta "G: \ db_bk_copies" com mais de 3 dias sem solicitar que os usuários confirmem a exclusão (Você tem certeza (S / N)?):

forfiles -p "G:\db_bk_copies" -s -m * /D -3 /C "cmd /c del /a-s @path"

    
por 25.10.2018 / 14:34
-1

Verifique se os arquivos não são ocultos ou arquivos do sistema.

Se o sistema tentar:

forfiles -p "H:\SHARED\Scans" -s -m *.* -d -7 -c "cmd /c del /a-s @path"

Se a tentativa escondida:

forfiles -p "H:\SHARED\Scans" -s -m *.* -d -7 -c "cmd /c del /a-h @path"
    
por 13.07.2016 / 18:17