2012-05-15 2 views
2

я вручную создал текстовый файл с именем AAAAA.txt в C: \ Windows \ System32, когда я выполнить следующий код:Directory.GetFiles Не возвращает файл

var sys32Files = Directory.GetFiles(@"C:\windows\System32"); 

Он возвращает кучу файлов, но AAAAA.txt не входит в этот список. Все разрешения для файла AAAAA.txt такие же, как и в тех файлах, которые возвращаются.

Может кто-нибудь объяснить, что может быть проблемой здесь?

И да, я работаю как администратор.

+1

Вы работаете в операционной системе x64? –

+0

да, я, другие каталоги, кажется, работает нормально – animaonline

+3

вот почему. окна будут перенаправлены в другой каталог system32. –

ответ

9

У вас есть 64-битная машина и выполняется 32-битный процесс. Значение file system redirector означает, что C:\Windows\system32 перенаправлен на C:\Windows\SysWOW64. Если вы хотите найти файлы в C:\Windows\system32, вы можете использовать псевдоним C:\Windows\sysnative. Или скомпилируйте для 64 бит.

Конечно, вы не должны создавать файлы в системной папке в первую очередь. Он принадлежит Windows, и вы должны оставить его в покое.

+1

Дополнительная информация здесь: http://msdn.microsoft.com/en-us/library/aa384187(v=vs.85).aspx –

+0

Спасибо Дэвиду и Даниэлю, что отвечает на мой вопрос. – animaonline