UDF > File >


_PathGetRelative

Obtient le chemin relatif d'un répertoire

#include <File.au3>
_PathGetRelative ( $sFrom, $sTo )

Paramètres

$sFrom Chemin vers le répertoire source
$sTo Chemin vers le fichier ou le répertoire de destination

Valeur de retour

Succès: Retourne le chemin vers la destination.
Échec: Retourne la destination et définit @error <> 0.
@error: 1 - $sFrom est égal à $sTo
2 - Une erreur inattendue s'est produite à l'appel de la dll ou le chemin relatif était une chaîne vide

Remarque

Le chemin retourné ne se terminera pas par "\", même si il est racine d'un disque retourné après une erreur.

En relation

_WinAPI_PathRelativePathTo

Exemple

#include <File.au3>

Example()

Func Example()
    Local $sFrom, $sTo, $sPath
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir")

    $sFrom = @ScriptDir
    ConsoleWrite("Source Path: " & $sFrom & @CRLF)
    $sTo = $sFile & "\autoit3.exe"
    ConsoleWrite("Dest Path: " & $sTo & @CRLF)
    $sPath = _PathGetRelative($sFrom, $sTo)
    If @error Then
        ConsoleWrite("Error: " & @error & @CRLF)
        ConsoleWrite("Path: " & $sPath & @CRLF)
    Else
        ConsoleWrite("Relative Path: " & $sPath & @CRLF)
        ConsoleWrite("Resolved Path: " & _PathFull($sFrom & "\" & $sPath) & @CRLF)
    EndIf
EndFunc   ;==>Example