Что нового

[Ошибки] Проблема с запуском скрипта из скрипта и её благополучное разрешение:

akoulev

Новичок
Сообщения
169
Репутация
2
Как-то вопрошал я здесь, как запустить нескомпилированный скрипт из другого скрипта; мне дали вполне (на тот момент) исчерпывающий, неверный :laugh: ответ:
Код:
Run ( @AutoItExe & ' /AutoIt3ExecuteScript Имя_хитрого_скрипта.au3' )


Оно, в целом, удовлетворяло, будучи встроено в весьма редко используемый скрипт, в котором я вечно что-то правил (в смысле - поправлял); а, посему, запускался скрипт кнопочкой 'F5' исключительно тогда, когда его тушка лежала на прозекторском столе :whistle: штатного автоит-овcкого редактора - SciTE4AutoIt3.

Всё течёт и иногда даже изменяется, и кусочек кода (с запуском скрипта из скрипта) был встроен в другой, ежедневно пользуемый скрипт - ошибка точас же и обнаружилась. Как только я запустил скрипт из панели (рядом с треем; кстати рекомендую - страшно удобно: right click в трее [на чистом месте] => Панели инструментов => создать панель ), причём скрипт _НЕ_ открыт в редакторе - и вылетает ошибка:
(http://s05.radikal.ru/i178/1007/dd/6a75712887ea.png)
Тщательный взгляд расскажет о том, что путь, по которому система искала файл вызываемого скрипта, мягко говоря, неправильный.
Короче, работает - так:
Код:
Run ( @AutoItExe & ' /AutoIt3ExecuteScript "C:\Documents and Settings\Пользователь.номер_машины\Рабочий стол\AutoIT\"Имя_хитрого_скрипта.au3' )


Ай ДОНТ нид хелп ;D - но, надеюсь, кому-то когда-нть данная информация пригодится.


Добавлено:
Сообщение автоматически объединено:

Уточню: для работоспособности, я добавил полный путь к файлу (Path), заключённый в кавычки. Имя скрипта, при этом, в кавычки _не_ заключается. А вот апострофы (') я не трогал вообще - они стоят,, как и в 1-м примере.

Hint: Дописать только "часть пути" не получается, поскольку тогда система начинает искать файл по адресу:
Код:
C:\Рабочий стол\...

Hint1: C портируемостью, при этом, как я понимаю, полный швах. :smile: Мне оно не шибко-то и нужно, - применительно именно к этой "дзюке"; но если у кого есть жизнеопределяющие идеи - велком!
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Код:
$file_loc = 'C:\Documents and Settings\Пользователь.номер_машины\Рабочий стол\AutoIT\Имя_хитрого_скрипта.au3'
If @Compiled = 1 Then
	$file_exe = FileGetShortName(@AutoItExe & ' /AutoIt3ExecuteScript "' & $file_loc & '"')
	Run($file_exe)
Else
	$file_au3 = FileGetShortName($file_loc)
	Run(@AutoItExe & " " & $file_au3, "", @SW_HIDE)
EndIf
 
Верх