Holen Sie sich Weg von directoryinfo-Objekt
Schreiben von code in C#, ich Frage mich, ob es war ein Weg, um den richtigen Weg der ein directoryinfo-Objekt?
Derzeit habe ich zum Beispiel ein Verzeichnis wie:
DirectoryInfo dirInfo = new DirectoryInfo(pathToDirectory);
Das Problem ist, dass wenn ich will, um den Pfad der jeweiligen dirInfo
Objekt, es gibt immer den debug-Pfad (Ordner bin). Wenn die original-dirInfo-Objekt auf ein Verzeichnis, in das D:\testDirectory
Weg, dann will ich einen Weg, um diesen Pfad wieder irgendwo anders im code, anstatt \bin\debug\testDirectory
Gibt es eine Möglichkeit, dies zu tun?
Derzeit bin ich versuchen, den Pfad von dirInfo mit Path
:
Console.WriteLine("Path: " + Path.GetFullPath(dirInfo.ToString()));
Was ist pathToDirectory? Ist es D:\testDirectory oder die debug-Pfad?
wie bekommen Sie den Pfad für
Können Sie bitte zeigen Sie code, den Sie verwenden, um "Weg von
pathToDirectory ist die Zeichenfolge @"D:\testDirectory"
Sie sind entweder nicht zeigen Sie Ihren code haben, ODER nicht wissen, was der an es übergeben wird:
wie bekommen Sie den Pfad für
dirInfo
?Können Sie bitte zeigen Sie code, den Sie verwenden, um "Weg von
DirectoryInfo
"? Und für den Beispielcode verwenden versuchen, Konstante Werte, wo möglich (d.h. was ist der Wert von pathToDirectory
wenn Ihr code funktioniert nicht)pathToDirectory ist die Zeichenfolge @"D:\testDirectory"
Sie sind entweder nicht zeigen Sie Ihren code haben, ODER nicht wissen, was der an es übergeben wird:
Path.GetFullPath(new DirectoryInfo(@"D:\testDirectory ").ToString())
zurück "D:\testDirectory" als erwartet. Bitte überprüfen Sie Ihre Probe.InformationsquelleAutor user1806716 | 2013-11-19
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen.
beachten Sie, dass dieser code verhält sich genau das gleiche wie der code, den Sie behaupten zu haben - DirectoryInfoToString() "Gibt den ursprünglichen Pfad, der übergeben wurde, durch den Benutzer."
ich denke OP ist das senden der "testDirectory" relativen Pfad, daher wird es Hinzugefügt, um den aktuellen Pfad(dubug-Ordner).
Dies sollte die akzeptierte Antwort, imo
InformationsquelleAutor Muhammad Umar
Einen
DirectoryInfo
repräsentiert ein bestimmtes Verzeichnis. Wenn Sie es schaffen, in welchem Verzeichnis es darstellt, ist abhängig von dem Pfad, den Sie ihm geben. Wenn Sie ihm eine absolute Weg, wiec:\foo\bar\baz\bat
, das ist das Verzeichnis, das Sie bekommen. Wenn auf der anderen Seite, geben Sie es ein relative Weg, wiefoo\bar\baz\bat
, der Pfad ist relativ zum Prozess' aktuellen Arbeitsverzeichnis. Standardmäßig, die übernommen wird aus dem Prozess, erzeugt der aktuelle Prozess. Visual Studio startet eine debug-Sitzung und stellt die CWD der Prozess gedebuggt wird, um seinebin
- Verzeichnis. Also, wenn Sie erstellen einDirectoryInfo
und geben Sie einen Pfad wietestDirectory
erhalten Sie eineDirectoryInfo
über[project-root]\bin\Debug\testDirectory
.Wenn Sie möchten, dass ein absoluter Pfad sein, Sie müssen angeben, dass der absolute Pfad. Es gibt keine Abkürzungen.
so, hier OP werden muss, geben Sie den Relativen Pfad zu der DirectoryInfo-statt dem absoluten Pfad, das ist, warum ist er immer Weg, da=> projectfolder/bin/debug/DitestDirectory Recht?
InformationsquelleAutor Nicholas Carey