Rechercher : dans
Par :

Batch automatique de suppression de fichier

Dernière réponse le 24 jun 2008 à 14:49:37 bong03, le 22 mai 2008 à 17:32:57 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Batch automatique de suppression de fichier » dans :
[Windows/Corbeille] Supprimer un fichier sans confirmation VoirVous en avez assez de vider continuellement votre corbeille ? Il est possible de supprimer les fichiers sans passer par la corbeille de deux façons différentes : Méthode manuelle Méthode automatique Méthode manuelle Pour ne plus avoir à...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...

1

epsiloneIB, le 22 mai 2008 à 20:19:12

Essaye :

DELTREE chemin_de_ton_temp
mkdir chemin_de_ton_temp

ça doit marcher nickel!

Bon courage

Epsilone

Répondre à epsiloneIB

2

bong03, le 23 mai 2008 à 11:52:41

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

Répondre à bong03

3

epsiloneIB, le 23 mai 2008 à 14:06:34

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

Répondre à epsiloneIB

4

bong03, le 23 mai 2008 à 14:45:31

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.

Répondre à bong03

5

epsiloneIB, le 23 mai 2008 à 15:19:27

Bonjour,

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

Epsilone

Répondre à epsiloneIB

6

JPC, le 27 mai 2008 à 14:19:44

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.

Répondre à JPC

7

epsiloneIB, le 1 jun 2008 à 01:34:01

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

Répondre à epsiloneIB

8

 bong03, le 24 jun 2008 à 14:49:37

Ok, super. Merci à tous.

Répondre à bong03
Collection CommentÇaMarche.net