Exclusion lors d'une suppression - Shell/Batch - Programmation
Marsh Posté le 05-04-2006 à 10:35:31
ReplyMarsh Posté le 05-04-2006 à 20:29:07
Code :
|
cela ne marche pas avec les noms contenant des espaces
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.
Marsh Posté le 07-04-2006 à 01:47:36
ReplyMarsh 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" ) |
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