Что нового

Вывод информации из скрипта в CMD или BAT

XpycT

Скриптер
Сообщения
380
Репутация
133
Всем привет

Есть CMD\BAT скрипт который запускает AutoIt скрипт.

В AutoIt скрипте обьявляеться переменная $sDate, как реализовать вывод значения переменной $sDate в окно CMD из которого был запущен AutoIt скрипт

Пример AutoIt Скрипта
Код:
$sDate = @YEAR & "/" & @MON & "/" & @MDAY
ConsoleWrite("$sDate = " & $sDate & @CR)


Код:
Cls
@Echo Off

"C:\Programs\AutoIt\AutoIt3.exe" "%~dp0Script.au3"
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Как вариант, можно использовать команды WinActivate и Send
 
Автор
X

XpycT

Скриптер
Сообщения
380
Репутация
133
beliy [?]
Как вариант, можно использовать команды WinActivate и Send
Работает только после того как отрабатывает AutoIt скрипт, а мне надо во время работы

axlwor [?]
Это команда для CMD и она выводит только за ведома указанную строку в CMD скрипте, а мне надо выводить строки из AutoIt скрипта
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
AU3 скрипт (test.au3)
Код:
$sDate = @YEAR & "/" & @MON & "/" & @MDAY
FileWrite(@TempDir & '\test.txt', $sDate)


BAT файл:
Код:
Cls
@Echo Off
 
Start /wait "C:\Programs\AutoIt\AutoIt3.exe" "test.au3"
Type %TEMP%\test.txt
Del %TEMP%\test.txt
Echo.
Pause
 

SyDr

Сидра
Сообщения
651
Репутация
158
XpycT, можно компилировать скрипт AutoIt как консольное приложение и использовать
Код:
ConsoleWrite()


Во втором варианте надо, чтобы консоль запускалась через AutoIt:
Код:
$pid = Run ("program", "workingdir" , Default, 0x3)
StdinWrite($pid, $data & @CRLF)
 
Автор
X

XpycT

Скриптер
Сообщения
380
Репутация
133
Спасибо Всем за ответы

Не стал я мудрить и воспользовался SplashTextOn

Пример из справки
Код:
$message = ""
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
For $x = 1 to 20
    $message = $message & $x & @LF
    ControlSetText("TitleFoo", "", "Static1", $message)
    sleep(100)
Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
XpycT [?]
воспользовался SplashTextOn
ИМХО, лучше так:
Код:
$sMessage = ''
$hSplash = SplashTextOn('TitleFoo', $sMessage, -1, -1, -1, -1, 4, '')
For $i = 1 To 20
	$sMessage &= $i & @LF
	ControlSetText($hSplash, '', 'Static1', $sMessage)
	Sleep(100)
Next
 
Верх