Batch suppression temporary internet files

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. Modérateur
    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
    1. 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
      1. 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
        1. 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