Что нового

[Данные, строки] записать данные с консоли

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Всем доброго времени суток ув. Форумчане. :IL_AutoIt_1:
Подскажите пожалуйста, как записать текстовые данные с консоли скрипта Автоита в текстовый файл.
Пробовал по примеру
Код:
While True
    $sOutput = ConsoleRead()
    If @error Then ExitLoop
    Sleep(25)
 WEnd
FileWrite ( "Log.txt", $sOutput )

Но результата нет.
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Skif_off сказал(а):
Сначала FileOpen(), потом FileWrite(), после чего FileClose().
Не уверен, но, кажется, вывод в консоль в ANSI.
Не совсем понял почему делать нужно именно так, ведь функция
Код:
FileWrite()
работает и без
Код:
FileOpen()
.
Но суть не в этом.
Может я не правильно обьяснил, чего я хочу...
При запуске скрипта через редактор, в нижней части редактора высвечивается консоль, в которой отображается его выполнения и ошибки. Так вот, я хочу, что бы скомпилированный скрипт в exe файл записывал эти данные в txt файл, и в случае какой либо ошибки, я открыл файл и посмотрел, что пошло не так.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
JIereHga2010 [?]
консоль, в которой отображается
А как туда данные попадают? Если через
Код:
ConsoleWrite()
то замените её на
Код:
FileWriteLine()
и все ошибки будут сразу в файл записываться.
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
А как туда данные попадают?

Не только через
Код:
consoleWrite()
.
Т.к. Скрипт автоматизирует работу IE в консоль попадают предупреждения об отсутствии тех или иных элементов.
Например
Код:
_IEGetObjByID ()
и т.д.
В общем не суть, как они туда попадают. Мне бы понять, как их от туда получить :scratch:
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
:stars: :stars:Тему АП :stars: :stars:
Все еще нужна помощь :stars:
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
JIereHga2010
Компилируете скрипт, как консольное приложение
Код:
#AutoIt3Wrapper_Change2CUI=y
; или так
#pragma compile(Console, true)
Запускаете из консоли (которая cmd.exe) вот так
Код:
ScriptName.exe > Log.txt
Весь вывод консоли будет перенаправлен в файл Log.txt
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Да, это наверное то что нужно:
Код:
#AutoIt3Wrapper_Change2CUI=y

А можно где то мануал по этой функции почитать??
OffTopic:
Понимаю что не в тему этого форума, а как сделать, что бы file.cmd который я создам, запускался либо в скрытом виде, либо после запуска сразу исчезал? Пробовал в конце поставить EXIT , но cmd не закрылось.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
JIereHga2010 [?]
мануал по этой функции
Это не функция - это директива. Если у вас установлена полная версия SciTE, то директивы AutoIt3Wrapper описаны здесь:
"<путь_установки>\AutoIt3\SciTE\AutoIt3Wrapper\Directives.au3"
Также можно использовать встроенные директивы: см. в справке AutoIt
Код:
#pragma



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

OffTopic:
Создаёте ярлык к cmd.exe. В свойствах дописываете команду
C:\Windows\System32\cmd.exe /c ScriptName.exe > log.txt
Указываете путь к скрипту в качестве рабочей папки.
Выбираете режим окна "Свернутое в значок".
 
Верх