Directory.Exists gibt true zurück, wenn das Verzeichnis nicht vorhanden ist

8

Ich arbeite an einer Anwendung für Windows 7 und führe einen routinemäßigen Verzeichniserstellungscode aus:

%Vor%

Das Problem ist, dass die Directory.Exists-Zeile true zurückgibt, wenn ich das Verzeichnis über die Befehlszeile und den Windows Explorer nicht sehen kann. Dies ist kein Problem bei der Arbeit mit Windows XP. Gibt es etwas mit Windows 7, das mir nicht bekannt ist?

EDIT: Hinzugefügt Path.Combine

    
Blake Blackwell 12.11.2009, 17:14
quelle

3 Antworten

11

Bitte haben Sie Verständnis dafür, dass Windows Vista und Windows 7 die Virtualisierung zum Schutz solcher Ordner verwenden. Sie müssen daher überprüfen, ob sich myDir im virtuellen Speicher befindet,

C: \ Benutzer (Benutzername) \ AppData \ Local \ VirtualStore \ ProgramData     

Lex Li 13.11.2009, 01:39
quelle
0

Ich weiß nicht, warum Windows 7 das tut, und ich habe keine Kopie zum Testen, aber Ihre Überprüfung auf Directory.Exists (Pfad) sollte nicht notwendig sein. Wenn Sie (tief) in Directory.CreateDirectory (Pfad) reflektieren, werden Sie feststellen, dass es intern prüft, ob das Verzeichnis bereits existiert, und es ist kein Problem, es mehrmals in einem Verzeichnis anzurufen, das bereits existiert. Der Aufruf von Directory.Exists (Pfad) ist überflüssig und unnötig.

Natürlich, wenn Windows 7 nicht das Directory ausführt. Existiert wie ich es erwarte, vielleicht macht es auch das nackte Directory.CreateDirectory nicht. In jedem Fall ist es eine Prüfung wert.

    
David Boike 12.11.2009 17:20
quelle
0

CommonApplicationData wird normalerweise unter Windows 7 in <OSDrive>\ProgramData aufgelöst. Dies ist ein versteckter Ordner. Wenn Sie den Explorer nicht bitten, versteckte Dateien und Ordner anzuzeigen (über die Ordneroptionen- & gt; Ansicht -Benutzeroberfläche), wird er im Explorer nicht angezeigt.

BEARBEITEN : Stellen Sie sicher, dass Sie das richtige Verzeichnis im Explorer anzeigen: Suchen Sie nach % PROGRAMDATA% , nicht C: \ ProgramData.

    
Michael Petrotta 12.11.2009 17:23
quelle

Tags und Links