Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Возврат на уровень (http://forum.oszone.net/showthread.php?t=216827)

TERMINAL 30-09-2011 11:05 1762936

Возврат на уровень
 
Добрый день !
Возможно ли вернуться на предыдущий уровень папок от места стартующено AutoIT.
К примеру, файл AutoIT стартует в папке С:\1\2\3\test1.exe, тоесть путь мне известен при помощи @ScriptDir и из этого (С:\1\2\3\test1.exe) скрипта мне нужно запустить другой скрипт, который находиться уже в папке С:\1\2\test2.exe.
Заранее спс.

madmasles 30-09-2011 11:42 1762962

TERMINAL,
Попробуйте так:
Код:

#include <File.au3>

$TestPath = @ScriptDir
$iCount = 0
MsgBox(64, 0, $TestPath)
While 1
    $iCount -= 1
    $TestPath = _PathFull($TestPath & '\..')
    MsgBox(64, $iCount, $TestPath)
    If StringLen($TestPath) < 3 Then ExitLoop
WEnd


Creat0R 01-10-2011 01:35 1763464

Цитата:

Цитата TERMINAL
К примеру, файл AutoIT стартует в папке С:\1\2\3\test1.exe, тоесть путь мне известен при помощи @ScriptDir и из этого (С:\1\2\3\test1.exe) скрипта мне нужно запустить другой скрипт, который находиться уже в папке С:\1\2\test2.exe. »

Проще сделать это через рег. выражения:

Код:

$sParent_Path = StringRegExpReplace(@ScriptDir, "\\[^\\]*$", "")
$sApp_Path = $sParent_Path & "\test2.exe"

MsgBox(64, "", $sParent_Path & @CRLF & $sApp_Path)

Либо сразу использовать относительный путь:

Код:

$sApp_Path =  @ScriptDir & "\..\test2.exe"

Run($sApp_Path)


madmasles 01-10-2011 08:11 1763486

Цитата:

Цитата Creat0R
Либо сразу использовать относительный путь »

Не знал про такой способ, спасибо.


Время: 11:52.

Время: 11:52.
© OSzone.net 2001-