Exclusion lors d'une suppression

Exclusion lors d'une suppression - Shell/Batch - Programmation

Marsh Posté le 05-04-2006 à 09:52:06    

Bonjour à tous,
 
Voila je cherche à supprimer le contenu du dossier temporaire de windows en excluant le fichier "cleaner.exe" qui est à l'intérieur.
Je précise que ce fichier "cleaner.exe" est en cours d'utilisation et ne pas donc pas etre déplacé.
 
J'ai entendu parlé qu'il fallait utiliser la boucle FOR et la commande DIR, mais je ne vois vraiment pas comment.
 
Aidez moi s'il vous plait !
 
Voici ma commande actuelle :

rd /s /q "%temp%\"


 
Merci d'avance pour vos réponses.


---------------
http://tetar31company.free.fr
Reply

Marsh Posté le 05-04-2006 à 09:52:06   

Reply

Marsh Posté le 05-04-2006 à 10:35:31    

Personne ne sait comment faire ?


---------------
http://tetar31company.free.fr
Reply

Marsh Posté le 05-04-2006 à 20:29:07    

Code :
  1. for /f %i in ('dir/b') do if not "%i"=="cleaner.exe" rd /s /q "%i"


cela ne marche pas avec les noms contenant des espaces

Reply

Marsh Posté le 06-04-2006 à 15:17:20    

Alors j'ai essayé en utilisant cette commande :  

FOR /f %%a in ('dir /B /S "%temp%\*.*"') do (if not "%%~nxa"=="cleaner.bat" DEL /P /F /S "%%a" )


et cette fois, si le fichier "cleaner.bat" se trouve directement dans le dossier temporaire, il n'est pas supprimé mais s'il est dans un sous-dossier (par ex : "%temp%\RARSFX0\cleaner.bat" ),il est...supprimé !  
C'est à n'y rien comprendre. Pourtant d'après le 'dir /B /S "%temp%\*.*"' il est censé rechercher dans les sous-dossiers.
 :heink:


Message édité par tetar31 le 06-04-2006 à 15:20:34

---------------
http://tetar31company.free.fr
Reply

Marsh Posté le 07-04-2006 à 01:47:36    

FOR /f %%a in ('dir /B /S /a:-d "%temp%\*.*"') do (blabla)

Reply

Marsh Posté le 07-04-2006 à 12:21:09    

wackevat a écrit :

FOR /f %%a in ('dir /B /S /a:-d "%temp%\*.*"') do (blabla)


Un grand merci à toi nglechau !
Voila le code final qui fonctionne enfin !!

FOR /F %%a in ('DIR /B /S /a:-d "%temp%\*.*"') DO (IF %%~na NEQ cleaner DEL /F /S /Q "%%a" )
DEL /F /Q "%temp%\*.*"



---------------
http://tetar31company.free.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed