Comment supprimer un dossier que le nom terminé par un point (“.”)?
J'ai quelques dossiers créés par des logiciels malveillants, dont le nom est terminé avec un point comme C:\a.\
ou C:\b.\
, etc.
J'ai trouvé une solution qui permet de supprimer ce dossier avec la commande rd /q /s "C:\a.\"
mais si je l'appelle win API RemoveDirectory
, il retourne ERROR_FILE_NOT_FOUND
.
Et je me demande juste comment écrire une fonction permettant de supprimer ces répertoires, grâce
Je test sur mon propre Windows XP SP3 système de ce genre
créer un dossier C:\>mkdir a..\\\
et je ne double-cliquez pour accéder à ce dossier. et je peux le supprimer avec la commande rd /q /s "C:\a.\"
ce système de Windows API(s) que rd /q /s
appel à la commande?
- Je ne peux pas croire ce qui se passe encore dans Windows 10, par la mise à jour de Windows lui-même (il ne pouvait pas supprimer le Windows.vieux après la mise à jour).
Vous devez vous connecter pour publier un commentaire.
Voici une solution à ce problème:
rd
.CMD.exe
en mode administrateur, même si elle ne fonctionne pas dans le non invite de commande élevéeSolution:
Lorsque vous appelez RemoveDirectory, assurez-vous que vous préfixe du chemin avec la chaîne "
\\?\
".Explication:
Il a tout pour faire le point. Selon MSDN, il y a certains cas où vous ne pouvez pas être en mesure de supprimer un fichier ou un dossier sur un volume NTFS, notamment lorsque le nom de fichier n'est pas valide dans la Win32 espace de nom (c'est pourquoi vous ne pouvez pas ouvrir le fichier en utilisant les méthodes normales dans l'Explorateur Windows).
(Source: http://support.microsoft.com/?kbid=320081)
rd "\\?\C:\Users\ahmed\Desktop\buggy."
rd
dans pwsh est un alias deremove-item
qui ne prend pas en charge les"\\?\`.Ive posté ceci sur SU et j'ai décidé de le poster ici aussi. De ses la plus simple et la plus rapide et la plus simple pour y parvenir. Je suis maintenant en riant à quel point il est simple.
J'ai moi-même eu WinRaR installé j'ai donc décidé de montrer la solution de contournement dans.
Cette solution de contournement est également possible à l'aide de 7zip.
L'un de l'autre chose que je dois mentionner, c'est que, comme il semble que le problème est causé par l'utilisation de l'explorateur windows et tout autre navigateur de fichiers (comme winrar fichier du navigateur lui-même, ftp explorateurs, etc.) le traitera des fichiers comme d'habitude.
Vous pouvez essayer d'utiliser n'importe quel fichier du navigateur et simplement de supprimer ces fichiers et pas la peine de les archiver à la bien que!
Cheers!
Quand vous voyez le nom est un".", mais le véritable nom est "a.."
Essayez ceci:
Et vous pouvez essayer d'explorer le dossier par le présent code:
J'ai utilisé "WinRar" Un simple RAR, ZIP processeur. Vous pouvez utiliser toute sorte de nom de fichier de l'éditeur. Il suffit d'ouvrir le répertoire où votre fichier dans WinRar et sélectionnez renommer après un clique droit sur le fichier/dossier que vous souhaitez renommer, puis de remplir le nouveau nom.
Si vous avez git installé (vous pouvez obtenir de l'ir à partir de ici) ensuite, il est aussi simple que:
rm -rf Foldername./
rm: cannot remove ‘.bin’: Directory not empty
-rf
partie devrait prendre en charge le contenu du dossier.Essayez d'utiliser unlocker programme pour supprimer les fichiers et les dossiers que vous ne pouvez pas supprimer normalement.
Utiliser bash commande rm à partir de Ubuntu sur Windows 10
rm: cannot remove ‘.bin’: Directory not empty