Функция _PathGetRelative

 ↑  ←  Описание функции


_PathGetRelative

Возвращает относительный путь к каталогу

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

Параметры

$sFrom Путь корневого каталога, относительно которого отсчёт
$sTo Путь расположения файла или каталога

Возвращаемое значение

Успех:Возвращает относительны путь.
Ошибка:Возвращает путь и устанавливает @error
@error:1 - $sFrom равен $sTo
2 - Буквы диска $sFrom и $sTo разные, относительный путь не возможен.

Примечания

Возвращаемый путь не имеет конечного "\", даже если это корень диска возвращаемый после выполнения функции с ошибкой.

Пример

#include <File.au3>

_Main()

Func _Main()
    Local $from, $to, $path, $sRes
    Local $Wow64 = ""
    If @AutoItX64 Then $Wow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir")

    $from = @ScriptDir
    $sRes &= "Путь источник: " & $from & @CRLF
    $to = $sFile & "\autoit3.exe"
    $sRes &= "Путь назначения: " & $to & @CRLF
    $path = _PathGetRelative($from, $to)
    If @error Then
        $sRes &= "Ошибка: " & @error & @CRLF
        $sRes &= "Путь: " & $path & @CRLF
    Else
        $sRes &= "Относительный путь: " & $path & @CRLF
        $sRes &= "Полный путь: " & _PathFull($from & "\" & $path) & @CRLF
    EndIf
    MsgBox(0, 'Сообщение', $sRes)
EndFunc