web-dev-qa-db-ja.com

Windows:ドライブ上のすべてのファイルとディレクトリの非表示属性をオフにするにはどうすればよいですか?

私のWindows7は最近system-fix.comウイルスに感染し、すべてのファイルとディレクトリを隠しました。ウイルスを駆除したと思いますが、まだたくさんのファイルやプログラムが見つかりません。

ドライブ全体の非表示属性を再帰的にオフにできる単一のコマンドラインツールがWindowsにありますか?

1
Pete Alvin

再表示 は、この症状に対処するために特別に設計されています。

実行すると、コンピューターの固定ディスク上のすべての+ Hファイルが再表示(-H)されます。ただし、+ S属性も持つファイルは再表示されません。

詳細については、 システム修正の削除ガイド を参照してください。

1
Andrew Lambert

おもう attrib -H /S /Dトリックを行う必要があります。

4
joeqwerty

ファイルとディレクトリを再表示するために、この単純なWindowsスクリプトを試すこともできます。ドライブ文字の入力をユーザーに求めるだけで、vbscriptを実行します。

メモ帳を実行し、以下のコードをコピーして、unhide.vbsとして保存します。

pc_drive = InputBox("Input drive letter" & vbnewline & "example: E:\", "Drive","E:\")
ryt = Right(pc_drive,2)
   If Len(pc_drive) <> 3 or ryt <> ":\" Then
   Call MsgBox("Either your input was invalid or the drive you specified doesn'texist",vbokonly,"Error")
End If

Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder(pc_drive)

Sub ShowSubFolders(Folder)
   str =""
   For Each Subfolder in Folder.SubFolders
      str =str & " " & Subfolder.Path
      subFolder.Attributes = 0
      ShowSubFolders Subfolder
   Next
End Sub

アクセシビリティを高めるために、USBドライブに保存することができます。使用方法については、以下のリンクをご覧ください。

ワームウイルスによって隠されたフォルダを再表示するためのWindowsスクリプト

EDIT:はvbscriptコードを提供しました。

1
Mr. Xymon

私は同じ問題を抱えていて、Stackoverflowで解決策を見つけました( https://stackoverflow.com/questions/8095002/windows-batch-script-to-unhide-files-hidden-byを見ることができます) -ウイルス )。

このコードは、ディレクトリのみを表示します。

したがって、BATファイルを作成します(メモ帳を開き、以下のコードをコピーして貼り付け、ファイルの名前をfix.batに変更します)。

echo "Enter Drive letter" 
set /p driveletter=

attrib -s -h -a /s /d  %driveletter%:\*.*

また、Xymon氏から提供されたコードを少し変更して、ごみ箱が表示されないようにし、Windowsアクセス許可エラーを回避しました。

コードは次のとおりです。

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

乾杯!

0