Function Reference


_PathGetRelative

Returns the relative path to a directory

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

Parameters

$sFrom Path to the source directory
$sTo Path to the destination file or directory

Return Value

Success: the path to the destination.
Failure: the destination and sets @error to non-zero.
@error: 1 - $sFrom equals $sTo
2 - An unexpected error occurred with the dll call or the relative path was an empty string

Remarks

The returned path will not have a trailing "\", even if it is a root drive returned after a failure.

Related

_WinAPI_PathRelativePathTo

Example

#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