_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