Fichier Batch de suppression

Fermé
Enness Messages postés 34 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 10 août 2010 - 1 mars 2010 à 17:40
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 2 mars 2010 à 09:53
Bonjour,

je dois réaliser un fichier permettant la suppression de fichier contenu dans un répertoire nommé "corbeille".

j'ai crée une variable d'environnement "corbeille" qui contient le chemin vers ce répertoire.

Voici mon batch :

@echo off
rem on commence par tester s'il existe la corbeille n'est pas vide
set /a Compte=0

rem on compte le nombre d'element(s) dans la corbeille
For %%a In ("%corbeille%\*.*") Do Set /A Compte+=1


if "%Compte%" NEQ "0" (
set /a repvide=1
)

if %Compte%==0 (
set repvide=0
)

rem si notre compteur est different de 0, alors corbeille n'est pas vide et on demande de confirmer la suppression
rem si le compteur est vide, il n'y a rien dans la corbeille, donc rien a supprimer
if %repvide%==0 (
echo La corbeille est vide
goto fin
) else (
echo vous etes sur le point de supprimer definitivement le contenu de la corbeille
set reponse /P ="Continuer...[O,N]"
if %reponse%==o goto suppression
if %reponse%==n goto nonsuppression
)

:suppression
del %corbeille%
echo Suppression effectuee avec succes !
goto fin

:nonsuppression
echo la suppression n'a pas eu lieu
goto fin

:fin


Ca ne marche pas du tout ! Je n'en peut plus, ça fait presque 4 heures que je bataille dessus !

Si quelqu'un pouvait m'aider à savoir où ça coince...

Merci d'avance...vraiment ^^
A voir également:

2 réponses

bonjour,

Pour ma part, j'utilise deltree pour faire ca sous dos et rm -R sous unix, plus compliqué, c'est possible ;-)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 mars 2010 à 09:53
hello
les tests numériques n'ont pas de "
if %Compte% NEQ 0 (
les tests de chaines, oui
if "%reponse%"=="o" goto suppression

attention au format de la commande set /p
set /P reponse="Continuer...[O,N]"

et faire
del /q %corbeille%\*.*
0