Funktionreferenz


_WinAPI_PathRelativePathTo

Beschreibung anzeigen in

Erzeugt einen relativen Pfad von einer Datei oder einem Ordner zu einer anderen

#include <WinAPIShPath.au3>
_WinAPI_PathRelativePathTo ( $sPathFrom, $bDirFrom, $sPathTo, $bDirTo )

Parameter

$sPathFrom Der Pfad zu der Datei oder dem Verzeichnis, das den Anfang des relativen Pfads definiert.
$bDirFrom Gibt an, ob $sPathFrom der Pfad zum Verzeichnis ist, gültige Werte:
    True - Verzeichnis.
    False - Datei.
$sPathTo Der Pfad zu der Datei oder dem Verzeichnis, das den Endpunkt des relativen Pfades definiert.
$bDirTo Gibt an, ob $fDirTo der Pfad zum Verzeichnis ist, gültige Werte:
    True - Verzeichnis.
    False - Datei.

Rückgabewert

Erfolg: Der relative Pfad.
Fehler: Leerer String.

Bemerkungen

Diese Funktion nimmt ein Paar von Pfaden und erzeugt einen relativen Pfad von einem zum anderen.
Die Pfade müssen nicht müssen nicht vollständig qualifiziert sein, aber sie müssen ein gemeinsames Präfix haben, sonst schlägt die Funktion fehl.

Der Startpunkt $sPathFrom sei beispielsweise "C:\A\B\C" und der Endpunkt $sPathTo sei "C:\A\D".
_WinAPI_PathRelativePathTo() gibt den relativen Pfad von $sPathFrom zu $sPathTo als: "..\..\D\E".
Man wird das gleiche Ergebnis erhalten, wenn man $sPathFrom auf "\A\B\C" und $sPathTo auf "\A\D\E" setzt.
Auf der anderen Seite haben "C:\A\B\C" und "D:\A\D" kein gemeinsames Präfix und die Funktion schlägt fehl.
Es ist zu beachten, dass "\" nicht als Präfix gilt und ignoriert wird.
Wenn man $sPathFrom auf "\\A\B\C" und $sPathTo auf "\\C\D" setzt, schlägt die Funktion fehl.

Siehe auch

Suche nach PathRelativePathTo in der MSDN Bibliothek.

Beispiel

#include <WinAPIShPath.au3>

Local $sPath = _WinAPI_PathRelativePathTo(@ScriptDir, 1, @ScriptDir & "\..", 1)

ConsoleWrite('Relativer Pfad: ' & $sPath & @CRLF)

If $sPath Then
    ShellExecute($sPath)
EndIf