2011-07-25 12 views
4

ディレクトリ内のファイルとサブディレクトリの完全なリストを作成する必要があります。隠しファイルとシステムファイルを含むすべてのファイルの検索方法

DirectoryInfo.GetFiles()すべてのファイルが見つかりません。隠しファイルは、少なくとも欠けているようです。

(管理者として実行しているにもかかわらず、Windowsエクスプローラを使用していくつかのディレクトリを見ることができないため、アクセス権に問題がある可能性があります)たとえば、「C:\ System Volume Information」は入力できません。)

私はC#、Windows XP Proを使用しています。

+1

「C:\ System Volume Inforamtion」フォルダは、SYSTEMユーザーだけに割り当てられているため、表示できません。その内部を見るためには、その所有権を取得する必要があります。ただし、これはセキュリティ上の理由から推奨されていません。 –

+0

[C# - コピーされたファイルを除いたリストを取得する可能性があります](http://stackoverflow.com/questions/2418270/c-sharp-get-a-list-of-files-excluding-those-that -are-hidden) – TarmoPikaro

答えて

6

DirectoryInfo.GetFiles()返信すべてファイル(閲覧権限を持たないものを除く)。

少なくとも、明らかに隠しファイルは含まれています(this person who is asking almost exactly the reverse of this question)。

このリストには含まれていませんが、他の場所に表示されるファイルの具体例はありますか?

+0

これは部分的な答えですが、アクセス権とファイルの所有権に関する上記のAlexのコメントも参照してください。 –

2

これはすべきです。他のディレクトリで検索し、手動で隠しファイルを作成し、検索結果セットに含めるかどうかを確認してください。

2

DirectoryInfo.GetFiles()は、隠しファイルを含むすべてのファイルを返します。

1

他の人が指摘したように、DirectoryInfo.GetFiles()はすべてのファイルを取得します。したがって、あなたが許可の問題に遭遇しているようです。

3

GetFilesはこの後半にすべてのファイルを返すわけではありませんが、その理由もわかりません。これは、少なくとも64ビット版のWindows 7 Homeを管理者として実行し、Visual Studio 2010でC#を使用して再現する方法の1つです。

\ WINDOWS \ System32に以下のファイルをインストールしますherehttp://www.ftdichip.com/Drivers/D2XX.htm

これからFTDIドライバにEXECUTABLEインストーラをインストールします。

-ftbusui.dll 
-ftcserco.dll 
-ftd2xx.dll 
-FTLang.dll 
-ftserui2.dll 

次のコード:

String[] files = Directory.GetFiles(Environment.SystemDirectory, "f*.*", SearchOption.TopDirectoryOnly); 

ftd2xx.dllを返しますが、他の4つのファイルは返しません。

検索パターンを*に変更します。

GetFiles(Environment.SystemDirectory) 

戻りFTD2XX.DLLはなく、他の4つのファイル:*、または単に使用します。

ファイルは隠されておらず、5人すべてが同じ所有者と権限を持っています。 5つのファイルはすべて、Windowsのエクスプローラとコマンドプロンプトウィンドウに表示されます。実際に

、次はfalseを返します:

File.Exists(@"c:\Windows\System32\ftbusui.dll") 

と4つのファイルがOpenFileDialogダイアログに表示されません。管理者として実行可能ファイルを実行することで違いはなく、UACを無効にしても効果はありません。

+0

私もこの問題に取り組んでいます。あなたは解決策を見つけましたか? –

+0

これは非常に特定のファイルまたはファイルの幅広い範囲でのみ発生しますか?これは、FTDIドライバの問題であり、ルートキットのような方法でドライバファイルを隠そうとしているようです。 – NirIzr

関連する問題