J'ai eu le même problème et j'ai trouvé une solution sur Stackoverflow (vous pouvez jeter un œil à https://stackoverflow.com/questions/8095002/windows-batch-script-to-unhide-files-hidden-by-virus ).
Ce code rendra visibles uniquement les répertoires.
Donc, créez un fichier BAT (ouvrez le Bloc-notes, copiez + collez le code ci-dessous et renommez le fichier en fix.bat) qui contiendra:
echo "Entrez la lettre du lecteur"
set /p driveletter=
attrib -s -h -a /s /d %driveletter%:\*.*
J'ai également modifié un peu le code fourni par M. Xymon pour éviter de rendre la Corbeille visible et pour éviter l'Erreur de Permission Windows.
Voici le code:
Sub ShowSubFolders(CurrentFolder)
' Ignorer certains dossiers pour éviter le message d'erreur Windows
If (CurrentFolder.Name <> "RECYCLER") and (CurrentFolder.Name <> "System Volume Information") and (CurrentFolder.Name <> "$RECYCLER.BIN") and (CurrentFolder.Name <> "Config.Msi") Then
For Each Subfolder in CurrentFolder.Subfolders
If (Subfolder.Name <> "RECYCLER") and (Subfolder.Name <> "System Volume Information") and (Subfolder.Name <> "$RECYCLER.BIN") and (Subfolder.Name <> "Config.Msi") Then
Subfolder.Attributes = Subfolder.Attributes AND 0
End If
ShowSubFolders(Subfolder)
Next
End If
End Sub
' Programme principal
pc_drive = InputBox("Entrer la lettre du lecteur." & vbnewline & vbnewline & "Exemple: G:\", "Lecteur","G:\")
ryt = Right(pc_drive,2)
If Len(pc_drive) = 3 or ryt = ":\" Then
Set FSO = CreateObject("Scripting.FileSystemObject")
' Vérifier si le chemin existe ou si le lecteur est prêt
If FSO.FolderExists(pc_drive) Then
Call MsgBox("Notre script va démarrer après avoir cliqué sur OK. Veuillez attendre le message de fin!!!",vbokonly,"Démarrage...")
' À FAIRE: Ajouter une barre de progression ici
ShowSubfolders(FSO.GetFolder(pc_drive))
Call MsgBox("Terminé!",vbokonly,"Terminé")
Else
Call MsgBox("Soit votre saisie était invalide, soit le lecteur que vous avez spécifié n'existe pas.",vbokonly,"Erreur")
End If
End If
Santé!