У меня была та же проблема, и я нашел решение для Stackoverflow (вы можете взглянуть на https://stackoverflow.com/questions/8095002/windows-batch-script-to-unhide-files-hidden-by-virus ).
Этот код сделает видимыми только каталоги.
Итак, создайте BAT-файл (откройте Блокнот, скопируйте + вставьте приведенный ниже код и переименуйте файл в fix.bat), который будет содержать:
echo "Enter Drive letter"
set /p driveletter=
attrib -s -h -a /s /d %driveletter%:\*.*
Кроме того, я немного изменил код, предоставленный Mr. Xymon, чтобы избежать появления Recycled Bin и избежать ошибки Windows Permission Error.
Вот код:
Sub ShowSubFolders(CurrentFolder)
' Skip some folders to avoid Windows Error Message
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
' Main program
pc_drive = InputBox("Input drive letter." & vbnewline & vbnewline & "Example: G:\", "Drive","G:\")
ryt = Right(pc_drive,2)
If Len(pc_drive) = 3 or ryt = ":\" Then
Set FSO = CreateObject("Scripting.FileSystemObject")
' Check if the path exists or if the drive is ready
If FSO.FolderExists(pc_drive) Then
Call MsgBox("Our script will start after you click OK. Please wait the Finish Message!!!",vbokonly,"Starting...")
' TO DO: Add a progress bar here
ShowSubfolders(FSO.GetFolder(pc_drive))
Call MsgBox("Done!",vbokonly,"Finished")
Else
Call MsgBox("Either your input was invalid or the drive you specified doesn't exist.",vbokonly,"Error")
End If
End If
Ура!