Forum Clubic

Suppression de fichiers par la commande rmdir et recuva

Bonjour.

Voulant supprimer un grand nombre de fichiers d’un ancien utilisateur, j’ai ouvert la session de celui-ci et tapé la ligne de commande :
RMDIR /S /Q C : Document and SettingutilisateurtotoAppDataLocalMozillaFirefoxprofile xyz,default
Ma confirmation-en tant qu’administrateur-a été demandée.
Puis ça n’a pas marché car répondu : « fichiers pas vides »
Mais, pour des raisons que je ne comprends pas, ce sont MES fichiers à moi qui ont été effaçés !
Soit la pluspart des fichiers sur le bureau, partie des programmes et la presque totalité des documents : musique, textes, vidéos, photos.
Une restauration à une date antérieure a récupéré mes fichiers système et programmes. Puis, pour les documents, j’ai utilisé aussitôt RECUVA, déjà présent sur mon PC. Et aucune autre manoeuvre, pour ne pas risquer de réécrire sur mes fichiers.
RECUVA a trouvé, semble-t-il car les noms sont changés, tout les documents en « récupérables », (en vert).
Mais en cliquant sur « restaurer », pour les charger sur mon DD externe, il refuse au motif : « le périphérique n’est pas prêt » .
Or, en testant le DD à partir d’un autre lecteur, aucun problème. Il est reconnu, on peut transférer des fichiers dessus etc. A l’inverse, RECUVA refuse, pour ce même motif, tout autre lecteur externe ou interne.
Mes recherches montrent que ce problême est rencontré par RECUVA, mais je n’ai pas trouvé de solution.

La commande RMDIR, efface-t-elle DEFINITIVEMENT les fichier et, sinon, peut-on l’annuler maintenant, par une commande inverse ? Ce serait si simple ?
Et, comment résoudre le bug rencontré par RECUVA qui a bien trouvé des milliers de fichiers récupérables, mais ne trouve pas « prêt », et lui seul, ni des DD externes, ni internes non plus.

Merci de votre aide, j’ai des mois de travail en jeu.

Bonjour,

La syntaxe batch est très dangereuse, il n’y a aucune contrainte pour délimiter du texte et peut donc interpréter un chemin contenant des espaces comme plusieurs dossiers.

Ce qui fait qu’il a interprété ceci:

RMDIR /S /Q C:Document
RMDIR /S /Q and
RMDIR /S /Q Settings/toto/Application
RMDIR /S /Q Data/Mozilla/Firefox/Profiles
etc…

si le chemin courant CD se trouve au mauvais endroit il est possible que le dossier existe et donc soit supprimé.

C’est une suppression définitive en effet, ça ne part pas à la corbeille, et Recurva ça fonctionne mais seulement si rien n’est réécrit dessus, suite à un redémarrage par exemple.

[color=red]
Il est vivement conseillé de mettre des guillemets pour délimiter du texte ![/color]

RMDIR /S /Q “C:\Documents and Settings%UserName%\Application Data\Mozilla\Firefox\Profiles\test”

Un conseil avant de lancer un script aussi critique, d’abord l’essayer sans le ‘/Q’, pour afficher la confirmation de suppression.

Et sinon faire ceci pour plus de sécurité:


@ECHO OFF
SET chemin="%AppData%\Mozilla\Firefox\Profiles\test"
IF NOT EXIST %chemin% ( EXIT )
CD /D %chemin%
FOR %%A IN ("%CD%") DO SET dossier="%%~nxA"
CD ..
SET chemin="%CD%\"
ECHO Voulez-vous vraiment supprimer le dossier %dossier% et l'ensemble de son contenu depuis le répertoire suivant ?
ECHO.
ECHO %chemin%
ECHO.
ECHO Appuyez sur Ctrl-C pour quitter
ECHO.
PAUSE
ECHO.
REM RMDIR /S /Q %dossier%
RMDIR /S %dossier%
ECHO.
PAUSE