Batch suppression temporary internet files

tiniko34 Messages postés 10 Statut Membre -  
 RAdek -
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.

4 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    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
  2. Mister S
     
    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
  3. Mister S
     
    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
  4. RAdek
     
    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