Menu

Batch automatique de suppression de fichier [Résolu/Fermé]

Messages postés
39
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
20 novembre 2013
- - Dernière réponse : bong03
Messages postés
39
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
20 novembre 2013
- 24 juin 2008 à 14:49
Bonjour,

Je voudrais réaliser un batch qui effacerait automatiquement à chaque démarrage du PC le contenu (et seulement le contenu) du dossier "Temp" situé dans "c:\Documents and Settings\user\Local Settings".

Voici ce que j'ai fais pour l'instant :

@echo off
REM /* Supression des fichiers temporaires */

del /F /S /Q %TEMP%\*
del /F /S /Q %TEMP%\*.*
REM rmdir /S /Q %TEMP%\*

exit 1

Mais je bloque car il ne fait que vider les répertoires et sous répertoires de "Temp" et une fois qu'ils sont vides il ne les supprime pas. Donc il me reste des répertoires vides dans "Temp" et j'aimerais les supprimer aussi.

Comment faire ?

Précision : je fais cela sous Windows XP Pro SP2 et il faut que le bacth gère automatiquement le user logguer (c'est pour cela que j'utilise les variables d'environnement).
Ensuite, quand le batch sera OK, je le placerai dans le dossier "Démarrage" pour qu'il s'exécute à chaque ouverture de Windows.

Merci à tous pour vos idées.

ALf
Afficher la suite 

6 réponses

Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Essaye :

DELTREE chemin_de_ton_temp
mkdir chemin_de_ton_temp

ça doit marcher nickel!

Bon courage

Epsilone
bong03
Messages postés
39
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
20 novembre 2013
3 -
Bonjour EpsiloneIB (aux autres aussi ;) ),

3 choses sur la solution que tu proposes :
1) J'y ai pensé à faire ça et je ne l'ai pas fait pour les 2 raisons suivantes !
2) DELTREE : commande non reconnue par Windows XP
3) Je veux effacer le contenu d'un répertoire système mais pas le répertoire lui-même pour ne pas avoir à le recréé (cause ce dossier système à peut-être des droits particuliers...)

Autres solutions ?

(avec Windows Explorer c'est facile : on se place dans le répertoire, Ctrl-A pour Tout sélectionnner, puis Shift-Suppr pour supprimer, mais le hic c'est que c'est manuel et donc pas automatique...).


Alf
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Bonjour,

1.Bin si la commande deltree n'est pas reconnue par le système ça veut dire que tu ne possèdes pas cet exe, alors tu dois le télécharger! Regarde ce site par exemple, tu peux le trouver ici : http://terrikaduck.netfirms.com/deltree.htm

2.Et si tu ne sais pas où le placer, bin, voilà ce qu'il faut faire : copie le sur ton system32

3. Et si tu ne veux pas recréer ton dossier bin ajoute les arguments nécessaires : mets par exemple ça =>

deltree /y %temp%\*.*

Voilà voilà!

Bon courage.

Epsilone
bong03
Messages postés
39
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
20 novembre 2013
3 -
Re,

Ok merci pour le lien.

C'est parfait : ça fonctionne bien.

J'aurais préféré qu'aucune fenêtre ne s'ouvre, et il va mme falloir installer aussi le programme DELTREE sur tous les PC... m'enfin, on peut pas tout avoir...

Merci.
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Bonjour,

Si je trouve une autre soluce je te la lance ;)
Fais de même!

Epsilone
0
Merci
Tu devrais utiliser qqchose comme: et ceci sans programme special

del /F /S /Q %TEMP%\*
del /F /S /Q %TEMP%\*.*
cd "%TEMP%"
FOR /F "usebackq delims=/" %%i IN (`dir /B /S /A:D`) DO rmdir "%%i"


A TESTER avec precaution

pour tester: FOR /F "usebackq delims=/" %%i IN (`dir /B /S /A:D`) DO @echo "%%i"
echo seulement les repertoires mais ne les delete pas.

Sorry, mais j'ai un clavier QWERTY sans accent.

JPC.
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
0
Merci
Oh thanks!

Il faut juste enlever un petit pourcentage % qui danse dans ta syntaxe pour que ça marche :

FOR /F "usebackq delims=/" %i IN (`dir /B /S /A:D`) DO rmdir "%%i"

FOR /F "usebackq delims=/" %i IN (`dir /B /S /A:D`) DO @echo "%%i"

Epsilone
Messages postés
39
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
20 novembre 2013
3
0
Merci
Ok, super. Merci à tous.