Wie kann ich feststellen, ob eine Zeichenfolge eine lokale Ordnerzeichenfolge oder eine Netzwerkzeichenfolge ist?

7

Wie kann ich in c # feststellen, ob eine Zeichenfolge neben einem regulären Ausdruck eine lokale Ordnerzeichenfolge oder eine Netzwerkzeichenfolge ist?

Zum Beispiel:

Ich habe eine Zeichenfolge, die "c:\a" oder "\foldera\folderb"

sein kann     
user526731 01.12.2010, 15:06
quelle

5 Antworten

18

new Uri(mypath).IsUnc

    
jtdubs 01.12.2010 15:15
quelle
7

Siehe diese Antwort, um das DriveInfo-Objekt für einen Dateipfad abzurufen

C # DriveInfo FileInfo

Verwenden Sie den DriveType, um festzustellen, ob es sich um einen Netzwerkpfad handelt.

Ссылка

    
Guy 01.12.2010 15:10
quelle
4

Ich denke, die vollständige Antwort auf diese Frage ist die Verwendung der DriveInfo.DriveType-Eigenschaft.

%Vor%

Testen Sie den Pfad, um zu sehen, ob er mit einem Schrägstrich beginnt und wenn dies der Fall ist, handelt es sich um einen UNC-Pfad. In diesem Fall müssen Sie davon ausgehen, dass es sich um einen Netzwerkpfad handelt - in Wirklichkeit handelt es sich möglicherweise nicht um einen Pfad, der auf einen anderen Computer zeigt, sondern um einen UNC-Pfad, der auf Ihre lokale Maschine verweist Wahrscheinlich für die meisten Menschen, denke ich, aber Sie könnten Prüfungen für diese Bedingung hinzufügen, wenn Sie eine kugelsicherere Lösung wollten.

Wenn der Pfad nicht mit einem Schrägstrich beginnt, verwenden Sie die DriveInfo.DriveType-Eigenschaft, um festzustellen, ob es sich um ein Netzlaufwerk handelt oder nicht.

    
Kev 22.11.2012 11:19
quelle
0

Eine weitere Möglichkeit, um zu überprüfen, ob der Pfad auf ein lokales Laufwerk oder Netzlaufwerk zeigt:

%Vor%     
Vasyl Senko 17.08.2015 10:47
quelle
-1

interessante Frage und Antworten, Ich könnte versuchen, eine einfache pathstring.Substring(1, 2) != @":\" .

überprüfen Sie auch, dass 'pathstring nicht null Länge oder null

ist

** bearbeitet

    
stackuser83 12.01.2014 23:43
quelle

Tags und Links