UDF > WinAPIEx > ShellPath >


_WinAPI_PathRelativePathTo

Crée un chemin relatif à partir d'un fichier ou d'un dossier vers un autre

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

Paramètres

$sPathFrom Le chemin d'accès au fichier ou un répertoire qui définit le départ du chemin relatif.
$bDirFrom Indique si le chemin $sPathFrom est un répertoire, les valeurs possibles sont:
    True - Répertoire.
    False - Fichier.
$sPathTo Le chemin d'accès au fichier ou au répertoire qui définit l'extrémité du chemin d'accès relatif.
$bDirTo Indique si le chemin $fDirTo est un répertoire, les valeurs possibles sont:
    True - Répertoire.
    False - Fichier.

Valeur de retour

Succès: Retourne le chemin relatif.
Échec: Retourne la chaîne vide.

Remarques

Cette fonction prend une paire de chemins et génère un chemin relatif de l'un vers l'autre. Les chemins ne sont pas nécessairement pleinement qualifié, mais ils doivent avoir un préfixe commun, sinon, la fonction échoue.

Par exemple, soit le point de départ, $sPathFrom, "C:\A\B\C", et le point d'arrivée, $sPathTo, "C:\A\D".
LA fonction _WinAPI_PathRelativePathTo() retournera le chemin relatif de $sPathFrom à $sPathTo: "..\..\D\E". Vous obtiendez le même résultat si vous définissez $sPathFrom à "\A\B\C" et $sPathTo à "\A\D\E". D'autre part, "C:\A\B\C" et "D:\A\D" ne partagent pas un préfixe commun, et la fonction échouera. Notez que "\" n'est pas considéré comme un préfixe et est ignoré. Si vous définissez $sPathFrom à "\\A\B\C", et $sPathTo à "\\C\D", la fonction échouera.

Voir aussi

Consultez PathRelativePathTo dans la librairie MSDN.

Exemple

#include <WinAPIShPath.au3>

Local $sPath = _WinAPI_PathRelativePathTo(@ScriptDir, 1, @MyDocumentsDir, 1)

ConsoleWrite('Chemin relatif: ' & $sPath & @CRLF)

If $sPath Then
    ShellExecute($sPath)
EndIf