Что нового

Как организовать ссылки на директории

Сообщения
142
Репутация
-3
Для указания пути, можно использовать @AutoItExe и @ScriptDir, первый ссылается на каталог исполнительного файла AutoIt, а после компиляции, возвращает каталог расположения нашего файла. Про @ScriptDir нюанса не нашел. Поэтом возник такой вопрос. Как указывать пути во время написания скрипта, чтобы после компиляции огрести меньше всего проблем? Ведь в случае указания на каталог исполнительного файла AutoIt, мне нужно будет располагать все файлы скрипта в его подпапках.

Мне видится вариант, что при написании использовать абсолютные пути, а перед компиляцией заменять их на @AutoItExe
 

Torotin

Новичок
Сообщения
10
Репутация
2
ЭйчЭйч сказал(а):
Для указания пути, можно использовать @Auto2ExeDir и @ScriptDir, первый ссылается на каталог исполнительного файла AutoIt, а после компиляции, возвращает каталог расположения нашего файла. Про @ScriptDir нюанса не нашел. Поэтом возник такой вопрос. Как указывать пути во время написания скрипта, чтобы после компиляции огрести меньше всего проблем? Ведь в случае указания на каталог исполнительного файла AutoIt, мне нужно будет располагать все файлы скрипта в его подпапках.

Мне видится вариант, что при написании использовать абсолютные пути, а перед компиляцией заменять их на @Auto2ExeDir
Основной вариант использования
Код:
$TestFilePath=@ScriptDir&"\tesfile.au3"


Макрос @ScriptDir будет работать и до компиляции.

Отправлено с моего SM-N950F через Tapatalk
 
Автор
Э
Сообщения
142
Репутация
-3
Я знаю, что до он будет работать. После компиляции куда он ссылается?
 

Torotin

Новичок
Сообщения
10
Репутация
2
ЭйчЭйч сказал(а):
А после компиляции куда он ссылается?
https://autoit-script.ru/autoit3_docs/macros.htm

Что до, что после компиляции макрос @ScriptDir ссылается на каталог, где находится сам скрипт.


Отправлено с моего SM-N950F через Tapatalk
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
ЭйчЭйч [?]
Для указания пути, можно использовать @Auto2ExeDir
Где ты это нашёл? Нет такого макроса вроде.

Я обычно использую такую конструкцию:

Код:
$sConfig_File = @ScriptDir & '\' & (@Compiled ? '' : '..\') & 'Config.ini'

Это если например скрипт находится в подпапке Project\Source, а необходимые для работы программы файлы в корневой папке Project.
 
Автор
Э
Сообщения
142
Репутация
-3
Torotin сказал(а):
Что до, что после компиляции макрос @ScriptDir ссылается на каталог, где находится сам скрипт.
Ты никак не поймешь о чем я. Скрипт au3 лежит в папке А, а скомпилированный из него файл exe в папке B, но папка С со списком гостей D.txt находится только в А. Exe-файл - уже не скрипт.
..\B\compiled.exe
; где гостей искать?
..\A\compiled.au3
..\A\C\D.txt
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
ЭйчЭйч [?]
Ты никак не поймешь о чем я
Нужно объяснять подробнее о чём ты, я тоже не понимаю о чём.
Вопрос был в том куда ссылается @ScriptDir после компиляции, Torotin тебе дал исчерпывающий ответ.
В случае с примером выше, до компиляции это будет ..\A\, после компиляции соответственно ..\B\ (если оттуда запускать).
Откуда запускаем то и будет значить, мне кажется это ясно с самого названия макроса.
 
Автор
Э
Сообщения
142
Репутация
-3
Теперь понятно.
Ключевое слово скрипт. После компиляции не скрипт запускаем, а исполнительный файл.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
ЭйчЭйч [?]
Ключевое слово скрипт. После компиляции не скрипт запускаем, а исполнительный файл.
Ну согласен, название макроса может и не самое удачное (@ThisDir?), но всё же логика подсказывает, что после компиляции, запускаемому приложению неоткуда взять путь к исходному скрипту :laugh:.
 
Автор
Э
Сообщения
142
Репутация
-3
CreatoR сказал(а):
Ну согласен, название макроса может и не самое удачное (@ThisDir?), но всё же логика подсказывает, что после компиляции, запускаемому приложению неоткуда взять путь к исходному скрипту :laugh:.
OffTopic:
Я живу в России и последние года-два читаю много всяких кодексов, законов, постановлений и прочее. По профессии инженер. Приходится. Лет 10 назад, я не мог предположить, что "Законопослушный гражданин" станет почти явью.
 
Верх