Suppressions des fichiers sous temp

seeyou -  
 seeyou -
Bonjour,
J'ai créé un script "suppr.bat" que j'ai installé au démarrage. L'idée est de supprimer les fichiers et dossiers
qui sont générés dans le répertoire C:\Documents and Settings\User\Local Settings\Temp
Cela à l'avantage d'éviter ainsi les suppressions manuelles.

Ce script contient pour l'instant la suppression du fichier toto.txt sous temp :
if exist C:\Documents and Settings\User\Local Settings\Temp\toto.txt del C:\Documents and Settings\User\Local Settings\Temp\toto.txt /Q

Plus tard, il contiendra :
if exist C:\Documents and Settings\User\Local Settings\Temp\*.* del C:\Documents and Settings\User\Local Settings\Temp\*.* /Q

Je l'ai installé dans l'arborescence suivante :
C:\Documents and Settings\User\Local Settings\User\Menu Démarrer\Programmes\Démarrage

Résultat : Cela ne fonctionne pas du tout. Le fichier toto.txt ne se supprime pas. Je n'ai pas de Msg d'erreur non plus !!

Merci de m'aider à finaliser ce script.
A voir également:

4 réponses

Utilisateur anonyme
 
Hello

J'ai testé pour vérifier. Voici l'explication :
Les commandes DOS telles que tu les utilises ne supportent pas les noms
de dossiers ou de fichiers longs ou contenant des espaces s'ils ne sont pas
délimités par des guillemets. Si tu veux récupérer les messages éventuels
ajoute une redirection de fichiers :

if exist "C:\Documents and Settings\User\Local Settings\Temp\toto.txt" del "C:\Documents and Settings\User\Local Settings\Temp\toto.txt" /Q 1>MsgNormal.txt 2>MsgErreur.txt

attention : toutes les lignes de ton bat doivent se terminer par un CRLF, c'est à dire
que même sur la dernière ligne remplie tu dois faire "entrée".
Le fichier doit se terminer per une ligne vide.

Redirections : 0>nom fichier entrée (STDIN) ; 1>nom fichier sortie (STDOUT) ; 3>nom fichier erreurs (STDERR)
Par défaut > tout seul = 1>
avec un seul > le fichier est écrasé ou créé ; avec >> les sorties sont écrites à la suite de l'existant ou créé.
0
Utilisateur anonyme
 
Hello Remoi

Il te faudra ajouter des options : /S /F /A.
Attention : ça ne supprimera pas les dossiers.
Recherche sur le net je sais qu'il existe un truc du genre "deltree" qui
supprime les fichiers et les dossiers d'une arborescence entière.
0
seeyou
 
Bonjour,

merci d'avoir répondu à mon interrogation.
J'ai donc essayé mais sans succès : mon fichier toto.txt ne s'efface toujours pas. et je n'ai pas de msg d'erreur.

J'ai pourtant essayé ce contenu dans le .bat bien sûr en mettant le bon user :
if exist "C:\Documents and Settings\User\Local Settings\Temp\toto.txt" del "C:\Documents and Settings\User\Local Settings\Temp\toto.txt" /Q 1>MsgNormal.txt 2>MsgErreur.txt

J'ai terminé mes 2 lignes par [entree] et rajouté une lmigne vide
Est ce qu'il y a une syntaxe particulière que je n'aurais pas compris.
Merci de me répondre.
a+
seeyou
0
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
et ainsi
cd C:\DOCUME~1\USER\LOCALS~1\Temp
if exist toto.txt del toto.txt
0
seeyou
 
Hello dubcek,

Les choses les plus simples sont souvent les plus efficaces;
Ca marche. Du coup je l'ai fait pour tout les fichiers sous temp.

Cool. Merci

a+

seeyou
0
seeyou
 
Remoi,

Dans mon fichier .bat, j'efface tout ce qui est présent sur le répertoire temp par la commande del *.*. Tout se passe bien, cependant à chaque redémarrage le système me pose la question si je suis sûr (o-n) de ce que je fais.
Est ce qu'il exite une commande qui permet dans le fichier .bat de le forcer à ne pas poser de question quand il exécute l'effacement?

Merci de m'éclairer

a+

seeyou
0
dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
del /q
0
seeyou
 
Merci, super.

a+

seeyou
0