Batch suppression temporary internet files

Fermé
tiniko34 Messages postés 10 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 20 septembre 2007 - 8 août 2006 à 15:36
 RAdek - 17 août 2006 à 15:58
salut

je suis en train de créer un petit batch afin de supprimer les fichiers temp et temporary internet files

ex:

@echo off
del %temp%\*.* /F/S
echo

le probleme c'est pour temporary internet files celà ne fontionne pas a cause de la longueur du nom du dossier

j'ai essayé de créer une variable en allant dans :

clique droit sur le poste de travail > Propriétés > onglet Avancé > Variables d'environnement

Dans la zone "Variables utilisateur pour <utilisateur>", créer une nouvelle variable TEMPINTERNET avec la valeur qui va bien.

mais celà ne marche toujour pas ! ! !

meme cette commande ne fontionne pas

del %userprofile%\Local Settings\Temporary Internet Files\*.*


que faire ???

au secour lol

Merci.
A voir également:

4 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
8 août 2006 à 15:53
del "%userprofile%\Local Settings\Temporary Internet Files\*.*"

Penser aux double-quotes.


Sinon il y a des programmes gratuits comme CCleaner qui font ça, et même plus. :-)
0
un indice :
en enlevant les attributs de repertoires, on se rend compte que le dossier "%userprofile%\Local Settings\Temporary Internet Files\" possède plusieurs repertoires 'cachés' dont 'Content.IE5'
celui ci contient un fichier 'index.dat' qui nous donne le nom de chaque repertoire caché dans 'Content.IE5'.
ce sont avec ces répertoires là qu'il faudra travailler en batch.

cdt
0
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Option Explicit

Dim IEcontent As String
Dim indexDAT As String
Dim bigBuffer As String
Dim tb_rep() As String * 8
Dim nbfic As Integer

Private Function persoID() As String 'qui suis-je ?
    persoID = String(100, Chr$(0))
    GetUserName persoID, 100
    persoID = Left$(persoID, InStr(persoID, Chr$(0)) - 1)
End Function

Private Sub initMe() 'initialisation des variables d'environnement
    IEcontent = "C:\Documents and Settings\" & persoID() & "\Local Settings\Temporary Internet Files\Content.IE5\"
    indexDAT = "index.dat"
    ReDim tb_rep(0 To 0)
    txtbuff.Text = ""
    nbfic = 0
    creer_rep_rbs
End Sub

Private Function isvalideRep(parm As String) As Boolean 'nom possible de repertoire ? o/n
    Dim a
    a = ""
    On Error Resume Next
    a = Dir(IEcontent & parm & "\", vbDirectory)
    isvalideRep = IIf(a = ".", True, False)
End Function

Private Sub ExtractRepFromBuffer(buff As String)  'scanne le fichier et en ressort chaque repertoire caché et consigne les noms dans un tableau
    Dim i As Integer
    For i = 22 To 350 
        If isvalideRep(Mid(buff, i, 8)) Then
            ReDim Preserve tb_rep(LBound(tb_rep) To UBound(tb_rep) + 1)
            tb_rep(UBound(tb_rep)) = Mid(buff, i, 8)
        End If
    Next i
    
End Sub

Private Sub scanIndex_dat() 'lit le fichier index.dat
    Dim f, buff
    f = FreeFile
    Open IEcontent & indexDAT For Input As #f
        Do While Not EOF(1)
            Line Input #f, buff
            bigBuffer = bigBuffer & buff
        Loop
    Close #f
    ExtractRepFromBuffer (bigBuffer)
End Sub

Private Sub delete_temp() 'scanne chaque repertoire caché et copy les fichiers musique dans un dossier RBS du bureau
    Dim i As Integer
        For i = LBound(tb_rep) + 1 To UBound(tb_rep)
        
            'faire le DELETE ici
			msgbox "vider : " & tb_rep(i)
            
        Next i
End Sub

Private Sub main()
	' NE MARCHE QUE POUR L'UTILISATEUR DE LA SESSION
    Call initMe 'initialisation des variables
	Call scanIndex_dat 'lit le fichier index.dat et en ressort les nom de repertoires caché à scanner
	Call delete_temp 'scanne chaque repertoire caché --> pour action
End Sub ' cdt Mister S

tout est là ... sauf le delete ... faut bien laisser quelque chose à faire, non ?
0
Je te conseil les étapes suivantes :

1)La première tu te place sur ton lecteur contenant ton répertoire à effacer :

cd C:

2) Tu de déplace dans ton arborescence :

cd %userprofile%\Local Settings\Temporary Internet Files\

3) Tu efface
DEL /F /S *.*
ou
ERACE /F /S *.*

Dans tes developpements de batch, je te conseil de taper tes lignes une à une dans une fenêtre de commande pour voir les effets de ces lignes.

Et je te donne un 2eme conseil gratuit : ne met la ligne
@echo off
dans ton batch qu'une fois ton developpement validé et terminé, ca t'aidera à debugger ;)
0