Entwickler-Ecke
IO, XML und Registry - Directory.Exists ... nicht
DarkWinter - Fr 23.07.21 11:16
Titel: Directory.Exists ... nicht
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| if (Directory.Exists(@"\!Loks")) { System.Windows.MessageBox.Show("Ordner existiert"); } else { System.Windows.MessageBox.Show("Ordner existiert nicht"); } |
Hi
Ordner existiert - aber C# sagt nein :? - übersehe ich da was?
Verzeichnis ist im gleichen Ordner wie die exe.
Moderiert von Th69: Schreibfehler im Titel geändert.
Th69 - Fr 23.07.21 11:29
Weißt du denn nicht, was der Backslash \ bedeutet?
Außerdem hat das nichts direkt mit C# zu tun, sondern mit der Laufzeitumgebung bzw. dem Betriebssystem.
DarkWinter - Fr 23.07.21 11:36
Naja Unterverzeichnis :?: z.B.
@"C:\!Loks"
Edit: tatsächlich ohne Strich gehts :oops:
Moderiert von Th69: C#-Tags hinzugefügt
Th69 - Fr 23.07.21 12:10
Ein Backslash am Anfang eines Pfads bedeutet "zurück zum Root-Verzeichnis", daher auch meistens @"C:\...", anstatt nur @"C:..." (denn dann bezieht sich der weitere Pfad auf das zur Zeit aktuelle Verzeichnis des Laufwerks).
Ralf Jansen - Fr 23.07.21 14:15
Du prüfst jetzt einen relativen Pfad ob da dein Ordner drin existiert.
Der relative Pfad ist relativ zum Arbeitsordner. Der Arbeitsordner ist nicht zwingend der gleiche Ordner in dem deine Exe liegt.
Der Arbeitsordner kann sich auch während der Ausführung deines Programms ändern.
Wenn du es relativ du deiner Anwendung willst musst du schon den Pfad zu deiner Executable nehmen und den absoluten Pfad zu dem Unterfolder zusammenbauen und diesen prüfen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!