Dica simples e prática
ECHO OFF
cls
@echo Os Arquivos Temporarios Que Seram Limpados :D
PAUSE
ECHO ON
color 02
del /q "C:\Windows\Temp\*"
FOR /D %%p IN ("C:\Windows\Temp\*.*") DO rmdir "%%p" /s /q
del /q "%temp%\Temp*"
FOR /D %%p IN ("%temp%\Temp*") DO rmdir "%%p" /s /q
CLEANMGR /sagerun:64
ECHO OFF
cls
@echo Limpeza concluida
Pause
cls
e adicione nas tarefas agendadas.
Pronto todo dia na hora agendada esse comando ira apagar as pastas escolhidas.
lembrando:
/q Modo silencioso (não pergunta se deseja mesmo apagar)
/f Modo force (força o arquivo ser deletado
/s Apaga todas as subpastas dentro da pasta escolhida.
del /q /f /s %windir%\Temp *.*
Esse comando apaga os arquivos temporários do sistema.
Quando o Windows é instalado são criadas as variáveis de ambientes que são:
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\netin\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=PCNETIN
ComSpec=C:\Windows\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Users\netin
LOCALAPPDATA=C:\Users\netin\AppData\Local
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\ResHack;C:\ÿ\BIN;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\Common Files\GTK\2.0\bin;C:\Windows\System32\WindowsPowerShell\v1.0\
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\netin\AppData\Local\Temp
TMP=C:\Users\netin\AppData\Local\Temp
USERDOMAIN=PCnetin
USERNAME=netin
USERPROFILE=C:\Users\netin
windir=C:\Windows
Para saber todas as variáveis abra o prompt de comandos e digite Set em seguida tecle ENTER
Todas estas variáveis tem que ser usada entre o símbolo %(porcentagem) Ex: %variavel%
caso você deseje excluir os arquivos da pasta temp do usuário atual
basta digitar: del /q %temp%
lembre-se que com aspas diminui o erro!
Via Rede
Uso esse script abaixo para limpar algumas pastas da minha rede.
Se eu especificar qual usuário quero que a pasta seja limpa ele faz perfeitamente (abaixo)
C:\Users\joao.silva\AppData\Local\Temp
Porém se deixo como coringa para apagar de qualquer usuário via gpo não faz nada (abaixo)
C:\Users\%username%\AppData\Local\Temp
-----------------------------------------
Option ExplicitDim Path, FileLog, Arquivo, ArquivoSize
Dim ObjFSO, Folder, MyFiles, MySubFolders, MyFolder
Dim ObjFileRead, ObjFileWrite, ObjFileAppending
Dim NomeFileDeleted, NomeFolderDeleted
Dim ActionDel, i
On error resume next
Path = "C:\Users\joao.silva\AppData\Local\Temp" 'Pasta Raiz onde for desejado apagar os
arquivos e subpastas
'FileLog = "logfile.txt" 'Nome do logfile
ActionDel = "no"
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
VerifySizeLog FileLog
Set Folder = ObjFSO.GetFolder(Path)
Set MyFiles = Folder.files
Set MySubFolders = Folder.SubFolders
Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True)
Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True)
'Set ObjFileWrite = ObjFSO.opentextfile(FileLog, ForWriting, True)
If Not ObjFSO.FolderExists(Path) Then
WriteLog Path & " - não é uma pasta válida(A pasta não existe)."
wscript.echo FileLog
WScript.Quit
End If
i=0
IF MyFiles.Count <> 0 Then
For Each MyFiles in Folder.Files
NomeFileDeleted = MyFiles.Name
MyFiles.Delete
if Err.number <> 0 then
WriteLog Err.Description&". !!! Erro ao tentar deletar o arquivo "& Path
&"\"&NomeFileDeleted
Err.Clear
else
WriteLog Path &"\"&NomeFileDeleted &" - Arquivo deletado em "& now()
i=i+1
end if
ActionDel = "yes"
Next
end if
IF MySubFolders.Count <> 0 Then
For each MyFolder in MySubFolders
NomeFolderDeleted = MyFolder.Name
MyFolder.delete
if Err.number <> 0 then
WriteLog Err.Description&". Erro ao tentar deletar a pasta "& Path
&"\"&NomeFolderDeleted
Err.Clear
else
WriteLog Path &"\"&NomeFolderDeleted &" - PASTA deletada em "& now()
i=i+1
end if
ActionDel = "yes"
Next
end if
if ActionDel = "yes" then
WriteLog "----------------------------------------
FIM----------------------------------------------------"
WriteLog "----------------------------TOTAL DE "& i &" OBJETOS
DELETADOS---------------------------------"
end if
Function WriteLog (Text)
ObjFileAppending.WriteLine Text
End Function
Function VerifySizeLog(NameFile)
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
Set ObjFileRead = ObjFSO.opentextfile(NameFile, ForReading, True)
Set Arquivo = ObjFSO.GetFile(NameFile)
ArquivoSize = Arquivo.size
'wscript.echo ArquivoSize
if ArquivoSize >= 1240000 then
ObjFileRead.close
Arquivo.name = "LOG FECHADO EM "& Replace(FormatDateTime(now,2),"/","-")&".txt"
elseif ArquivoSize <= 1000024 then
FileLog = NameFile
end if
End Function