Laden...

Mittels relativer Pfadangabe Laufwerk wechseln

Erstellt von pro vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.105 Views
P
pro Themenstarter:in
216 Beiträge seit 2006
vor 13 Jahren
Mittels relativer Pfadangabe Laufwerk wechseln

Hallo,

Ist vielleicht eine dumme Frage, aber wie kann ich das Laufwerk mittels einer relativer Pfadangabe wechseln?

Beispiel:

Laufwerk C:
Laufwerk D:

Ich bin Aktuell im Ordner c:\temp und möchte in den Ordner d:\test.

Wie kann ich das relativ realisieren?

Vielen Dank für Eure Antworten.

Grüsse, pro

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo pro,

was genau verstehst du unter einer relativen Pfadangabe?
Bzw. wo möchtest du das machen, in .NET oder einfach in der Konsole?

In der Konsole macht man das mit


D:
cd test

Gruss
Michael

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

in der Konsole geht auch


cd /d d:\test

also das von michlG als 1 Befehl.

Ansonsten geht relative Pfadangabe AFAIK nur innerhalb eines Laufwerks.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

P
pro Themenstarter:in
216 Beiträge seit 2006
vor 13 Jahren

Vielen Dank für Eure Feedback.

Nicht mit mit zwei Befehlen aus der Konsole wie cd.

Sondern etwas in der Art : c:/temp/../d(?Wie hier?)/temp

Gruss, pro

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

bin mir ziemlich sicher dass das nicht geht. Der Wechsel eines Laufwerks ist "massiver" als ein Verzeichniswechsel. Von daher glaube ich nicht dass es das gibt.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

nur so eine Idee: vielleicht gehts mit dem "file://"-Protokoll. Das einzige was ich mir vorstellen könnte.

Gruß, MarsStein

Edit: wo ist da eigentlich der Sinn? Der relative Pfad würde ja immer den absoluten Pfad beinhalten... warum also nicht gleich den nehmen?

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

P
pro Themenstarter:in
216 Beiträge seit 2006
vor 13 Jahren

Hallo

Sinn eigentlich keinen, war eine Aufgabe an einer Schule.

Danke für die Antworten.

Gruss.

F
60 Beiträge seit 2010
vor 13 Jahren

public static FileInfo RelativeWithDriveChange(String drive, String relPath)
{
    String curDir = Directory.GetCurrentDirectory();
    String newDir = drive + curDir.Substring(3, curDir.Length - 3);
    Directory.SetCurrentDirectory(newDir);
    // there are exceptions to catch
    FileInfo result = new FileInfo(relPath);
    Directory.SetCurrentDirectory(curDir);
    return result;
}

// Usage - current dir c:\foo\bar\baz
FileInfo fi = RelativeWithDriveChange("d:\\", "..");
Debug.Print(fi.FullName); // should be d:\foo\bar

aber irgendwie hat man dadurch nichts gewonnen 😉

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo pro,

Path.Combine funktioniert auch dann korrekt, wenn beide Pfade einen Laufwerksbuchstaben enthalten. Das sollte dein Problem lösen.

herbivore

P
pro Themenstarter:in
216 Beiträge seit 2006
vor 13 Jahren

Hallo zusammen,

Vielen Dank für die interessanten Antworten.

Gruss, pro