web-dev-qa-db-ja.com

特定の日に変更されたファイルをハードドライブ全体で検索する方法は?

私は数時間前にウイルスを拾い、そのファイルの1つを特定しました。ウイルスがインストールされた正確な分を知っているので、その分変更されたファイルをハードドライブ全体で検索したいと思います。これを行うことができるユーティリティはありますか? Windows検索はドキュメントのみを検索します。

私はWindows 8を使用しています。

9
msbg

デスクトップからエクスプローラーを開きます。ハードドライブのルートに移動します(おそらくC:\)。検索フィールドをタップ/クリックし、次のように入力します:System.DateModified:YYYY-MM-DDThh:mm:ssここで、日付と時刻は、ウイルスが出現したことがわかっているものであり、ISO-8601で説明されています。ここに示します http://www.w3.org/TR/NOTE-datetime

Windowsの検索用語は「高度なクエリ構文」と呼ばれ、多くの有用な用語が含まれていますが、そのほとんどはWindowsの検索UIを通じてエンドユーザーに公開されていません。これは、このMSDNドキュメントで説明されている1つの例です: http://msdn.Microsoft.com/en-us/library/bb266512%28VS.85%29.aspx セクション「WindowsのDateTimeプロパティ8 "。

ドライブ全体を検索するにはインデックスを拡張する必要がある場合があり、インデックスは特定の場所(C:\Windows\CSC\の例)。

9
K.A.Monica

これを行う方法はたくさんあります。あなたは次のようなプログラムを試すことができます

http://www.mythicsoft.com/page.aspx?type=filelocatorlite&page=home

私は8も7も使用しませんが、CMDを使用します。これを行う方法は2つありますが、最も簡単な方法は、作成された時間でフィルターされたサブフォルダーを使用してドライブ全体をDIRし、日付と時刻の形式に一致する文字列を検索することです。 CMDウィンドウに貼り付けるには、右クリックして貼り付けを選択します。 (再びwin8を使用したことはありません)

以下のコードはそれほど複雑ではありません。C:ドライブで「01/19/2013 06:38 PM」で作成されたファイルを検索します。出力はC:\ FoundFiles.TXTになります。

@dir c:\*.* /s /t:c | findstr "01/19/2013  06:38 PM">c:\FoundFiles.TXT 

以下のコードは隠しファイルを検索し、c:\ FoundHiddenFiles.TXTに出力します

@dir c:\*.* /s /a:h /t:c | findstr "01/19/2013  06:38 PM">c:\FoundHiddenFiles.TXT

「最後にアクセスした」ファイルには/ t:aを使用し、最後に書き込んだファイルには/ t:wを使用します

Windows 8でCMDを開くには、アプリでCMDを検索するだけです。ウィンドウ8に配置されたDIR出力に一致するように文字列を調整する必要がある場合もあります。また、ウィンドウ8でC:にアクセスできるかどうかもわかりません。各検索は1分程度で済みますが、場所ではなくファイル名が表示されるだけで、実行するたびに古い検索結果が消去されます。 「」は、念のために置くだけでオプションです。

それが誰かを助けることを願っています。

最後に一つだけ。 darnドライブ全体をテキストファイルに出力し、Wordまたはメモ帳で検索するか、Windows 8で何ができるかを検索します。以下のコードは、ファイルの作成時にソートされたハードドライブのコンテンツ全体を出力します。

dir c:\*.* /s /o:d /t:c >C:\AllFiles.TXT

そして、すべての隠しファイルを検索したい場合は、

dir c:\*.* /s /o:d /t:c /a:h >C:\AllHiddenFiles.TXT
2
Michael Mantion

私は同じ問題で検索のためにここに来ました。

windows 8.1では、ISO 8601形式(YYYY-MM-DDThh:mm:ss)の日付は、Thh:mm:ssを日付に追加すると機能しませんでした。時間のない日付はまあまあでした。 '2014- 1- 15'

しかし、これは時間とともに機能しました:15- Jan- 14 16:24地域の形式を使用する必要がある場合があります。 01/15/14 4:24 pmまたはuniversal:2014- 1- 15 16:24

変更日時を検索する代わりに、その日時に作成されたファイルを探すことをお勧めします。ファイルが日付を作成/変更/アクセスしたため:System.DateCreated:15-‎Jan-‎14 16:24

「システム」がなくても機能します。私のために: DateCreated:‎15-‎Jan-‎14 16:24

また、私たちの場合、10分の期間のように、検索範囲を広げることをお勧めします。

DateCreated:‎15-‎Jan-‎14 16:24..15-Jan-14 16:34

または言語に依存しない形式の日付:

DateCreated:‎2014-‎1-‎15 16:24..2014-‎1-‎15 16:34

この文字列を、メインドライブ(c :)のルートディレクトリの[ファイルエクスプローラー]ウィンドウで、アドレステキストボックスの右側にある[このPCを検索]コンボボックスに入力します。

また、AppDataフォルダーはインデックス付きスペースの外にあり、他の方法では検索されないため、システムファイルを検索に含める必要があります。そして、そこにウイルスが存在します。これを行うには、[メニューで検索]をクリックし、[詳細オプション]と[システムファイル]をオンにします。

結果ウィンドウに、MODIFICATIONの日付が表示されます。一部は指定した範囲外です。各ファイルのプロパティを見ると、作成日が指定した範囲にあることがわかります。これらは後に変更されています作成されました

(写真を作成しましたが投稿できません)

1
papo

使用できるforfilesと呼ばれるDOSコマンドがあります。

forfiles /P C:\ /S /D -1 /M *.*

プログラムの呼び出し(またはcmd/c ...を使用したDOSコマンドの呼び出し)などのより高度な構文も使用できます。

forfiles /P C:\ /S /D -1 /M *.* /C "cmd /c echo @fname @fdate"

forfiles /?を参照してください@ fname、@ fdateなどの構文とパラメーター.

コマンドプロンプトを開くには、[スタート]メニューから[検索]を選択し、CMDと入力してEnterキーを押し、DOSウィンドウを開きます。

(PSをシステムで動作させることができません-/ D -1で指定したように、前日に変更されたファイルだけでなく、すべてのファイルを返すようです-おそらくギリシャ語の日付がDD/MM /であるというバグがありますYYYY(MM/DD/YYYYではありません)

訂正:/ D -ddが何をしているのかについて、私や他の人たちがあまりにもネットで検索して誤解しているようですが、dd日前のファイルを検索していないようですが、古いですdd日より

したがって、FORFILESの/ D + dd/MM/yyyy構文を使用し、昨日の日付をそこに渡して、昨日より後の日付のすべてのファイルを見つける必要があります。これを自動化するには、%date%を使用して、%date:〜7,2%/%date:〜4,2%/%date:〜-4%またはそのようなもので解析できます(日付の部分を並べ替える必要がある場合があります)ロケールによって異なります)

1
George Birbilis