Bat - Suppression d'un dossier dans C:\Program files (x86) ?

micromega Messages postés 141 Statut Membre -  
micromega Messages postés 141 Statut Membre -
Bonjour,

Je souhaite utiliser le code .bat suivant, pour rechercher un dossier et le supprimer dès qu'il le trouve :

for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W ,X,Y,Y,Z) do (
if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /f /s /q %%~fsj
goto :eof
:FinBoucle

Cependant, avec C:\Program files (x86) et C:\Programmes, le dossier dans ces répertoires n'est pas effacé (même si j'exécute avec les droits administrateur). J'ai remarqué que les dossier étaient en "lecture seule", et même si je décoche la case cela ne change rien : le dossier redevient en lecture seule.

Y a t-il un moyen de contourner le problème?

Merci pour les aides.

7 réponses

  1. Utilisateur anonyme
     
    salut,
    Juste une idée à tout hasard, à tu essayé d'ajouter l'option récurcif ? (/r de tête il me semble)
    0
  2. micromega Messages postés 141 Statut Membre 1
     
    Bonjour Nashima,

    Merci pour ta réponse. Comment puis-je ajouter l'option récurcive ?

    Merci
    0
  3. Utilisateur anonyme
     
    de mémoire il suffit de rajouter l'option '/r' o(ou '/R') après ton rd

    soit :
    for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W ,X,Y,Y,Z) do ( 
    if exist "%%i:\" set VrLetter=%%i& call :search %%i 
    ) 
    goto FinBoucle 
    :search 
    for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /R /f /s /q %%~fsj 
    goto :eof 
    :FinBoucle 
    


    je n'en suis pas certains, mais normalement si ton répertoire n'est pas vide, un message de confirmation est demandé, et dans le cas d'une suppression silencieuse (comme toi), si non vide => ignoré.
    0
  4. micromega Messages postés 141 Statut Membre 1
     
    Bonjour,

    J'ai essayé, mais cela ne fonctionne pas non plus.
    Une autre idée?

    Merci quand même.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    salut, tu as un message d'erreur ? ou quelque chose ?
    0
  7. Utilisateur anonyme
     
    petit question, d'après ce que tu montre tu veux supprimer le répertoire "TEST ICI" présent à la racine des lecteurs existants, ce que tu montre est une partie de ton code ou tu as masqué certaines variables?
    0
  8. micromega Messages postés 141 Statut Membre 1
     
    Bonjour,

    Non je n'ai aucun message d'erreur. Le bat va jusqu'au bout de la recherche, il se termine par "goto FinBoucle".
    J'ai regardé le dossier "TEST ICI" placé dans "program files (x86)" ou "Programmes" est en lecture seule et je ne peux pas le désactiver. J'ai trouvé ce problème uniquement pour ses deux dossiers (pour l'instant), sinon tous fonctionne.

    "TEST ICI" n'est pas forcément dans la racine des lecteurs (C:\Program Files (x86)\Mon dossier\TEST ICI)
    Tous les codes est là. Je souhaites seulement faire une recherche du dossier dans tous les dossiers de chaque lecteurs afin de le supprimer.

    Sur quel système d'exploitation fonctionne-tu?

    Merci de chercher ave moi !
    A bientôt.
    0