Script para deletar arquivos temporários

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

Salve-o como qualquer .bat

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!


Executar para "Realizar Limpezas" e deixar a máquina (Desktop ou Notebook) mais rápido.


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 Explicit

Dim 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

Nenhum comentário:

Postar um comentário