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.
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. 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
  2. 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
    1. 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
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    et ainsi
    cd C:\DOCUME~1\USER\LOCALS~1\Temp
    if exist toto.txt del toto.txt
    0
    1. 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
    2. 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
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    del /q
    0
    1. seeyou
       
      Merci, super.

      a+

      seeyou
      0