Autor Beitrag
DarkWinter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 23.07.21 10:16 
ausblenden 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 user profile iconTh69: Schreibfehler im Titel geändert.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4792
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 23.07.21 10: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 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 23.07.21 10:36 
Naja Unterverzeichnis :?: z.B. @"C:\!Loks"

Edit: tatsächlich ohne Strich gehts :oops:

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4792
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 23.07.21 11: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 23.07.21 13: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.