|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты |
|
[Архив - Часть 1.3] AutoIt скрипты
|
Старожил Сообщения: 250 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. Помогите пожалуйста. Нужен маленький скриптик для решения некоторых рутинных задачь. Вот что нужно сделать последовательно: 1) в папке DIR1 находим и удаляем файлы в названии которых присутствует text_1 2) в папке DIR2 находим xxx.sif и удаляем строки, в которых присутствует text_1 3) в папке DIR3 находим xxx.inf и добавляем в его секцию [XXX] несколько строчкек (text_2, text_3, ..., text_n) 4) в папке DIR4 находим yyy.inf ищем в его секции [YYY] text_4 и заменяем его на text_5 5) сохраняем все изменения и выводим отчёт о проделанной работе :-) Заранее благодарен. |
|
Отправлено: 05:05, 03-12-2006 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Объясните пожалуйста,а то я не догоняю,не могу понять что в справке написано:
что делает ConsoleWrite? и для чего её можно применить? зарание благодарен |
------- Отправлено: 20:50, 28-02-2007 | #241 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать 13ghost
Штатное применение - отладка скриптов средствами SciTE, кстати неплохая альтернатива MsgBox() ![]() Creat0R Цитата:
![]() Цитата:
![]() |
||
Отправлено: 05:22, 01-03-2007 | #242 |
(*.*) Сообщения: 36567
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
|
|
------- Отправлено: 07:00, 01-03-2007 | #243 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27
Цитата:
Цитата:
![]() |
||
------- Отправлено: 10:35, 01-03-2007 | #244 |
Новый участник Сообщения: 1
|
Профиль | Сайт | Отправить PM | Цитировать Вопрос про чтение stdout'а AutoItом - наблюдаю эффект, что для некоторых программ, stdout то читается, то не читается (в зависимости от опций).
Например, рассмотрим следующий код: Func ShowStdout($cmd) $stdout="" $foo = Run($cmd, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line = StdoutRead($foo) If @error Then ExitLoop $stdout=$stdout & $line Wend MsgBox(0,$cmd,$stdout) EndFunc $cmd=@ComSpec & " /c " & " java " ShowStdout($cmd) ; Показывает STDOUT нормально $cmd=@ComSpec & " /c " & " java -version " ShowStdout($cmd) ; Показывает пустой STDOUT $cmd=@ComSpec & " /c " & " python -h " ShowStdout($cmd) ; Показывает STDOUT нормально $cmd=@ComSpec & " /c " & " python -V " ShowStdout($cmd) ; Показывает пустой STDOUT Exit(0) C уважением, Стас. |
Отправлено: 21:09, 02-03-2007 | #245 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Иногда название окна не меняется. Получается, что посылая следующий {ENTER} нажимаешь на {Cancel}. Команда sleep не очень эффективна, т.к. она нормально отрабатывается на одном компе, на другом с заметной задержкой а на третьем задержки не хватает. Как быть в таком случае?
|
Отправлено: 01:10, 03-03-2007 | #246 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать belonesox
Цитата:
Func ShowStdout($cmd) $stdout="" $foo = Run($cmd, @SystemDir, @SW_HIDE, $STDERR_CHILD+$STDOUT_CHILD) While 1 $line = StdoutRead($foo) If @error Then ExitLoop $stdout &= $line Wend If $stdout = "" Then $stdout = StderrRead($foo) MsgBox(0, $cmd, $stdout) EndFunc Evgeniy15 Цитата:
![]() |
||
------- Отправлено: 09:28, 03-03-2007 | #247 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать belonesox
попробуй следующий вариант (проверил только для java, python под рукой нет): #include <Constants.au3> $cmd=@ComSpec & " /c " & " java 2>&1" ShowStdout($cmd) ; Показывает STDOUT нормально $cmd=@ComSpec & " /c " & ' java -version 2>&1' ShowStdout($cmd) ; Показывает пустой STDOUT $cmd=@ComSpec & " /c " & " python -h 2>&1" ShowStdout($cmd) ; Показывает STDOUT нормально $cmd=@ComSpec & " /c " & " python -V 2>&1" ShowStdout($cmd) ; Показывает пустой STDOUT Func ShowStdout($cmd) Local $stdout $foo = Run ($cmd, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDERR_CHILD + $STDOUT_CHILD) While 1 $line = StdoutRead($foo) If @error Then ExitLoop $stdout=$stdout & $line Wend MsgBox(0,$cmd,$stdout) EndFunc просьба не забывать добавлять в скрипты необходимые строчки #include ! |
Отправлено: 10:18, 03-03-2007 | #248 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Как можно получить загрузку ЦП определённого процесса? не важно, по имени образа, пути к файлу процесса, или по Pid. Это возможно узнать? (AutoIt'ом естественно
![]() |
------- Отправлено: 12:32, 03-03-2007 | #249 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
что-то типа такого: MsgBox (0, '', _GetCPUUsageProcess ('winrar')) Func _GetCPUUsageProcess ($proc, $ticks = 1000) Local $aCount[3], $strProc = 'Name="' & $proc & '"' Local $colItems, $objItem, $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2") If IsNumber ($proc) And $proc>0 Then $strProc = "IDProcess=" & $proc ; Считываем необходимые характеристики процесса - попытка №1 $colItems = $objWMIService.ExecQuery ("SELECT IDProcess,PercentProcessorTime,Timestamp_Sys100NS FROM Win32_PerfRawData_PerfProc_Process WHERE " & $strProc, "WQL", 0x30) For $objItem In $colItems $aCount[0]=$objItem.IDProcess $aCount[1]=$objItem.PercentProcessorTime $aCount[2]=$objItem.Timestamp_Sys100NS ExitLoop Next If $aCount[0] Then ; Накапливаем статистику... Sleep ($ticks) ; Считываем необходимые характеристики процесса - попытка №2 $colItems = $objWMIService.ExecQuery ("SELECT PercentProcessorTime,Timestamp_Sys100NS FROM Win32_PerfRawData_PerfProc_Process WHERE IDProcess=" & $aCount[0], "WQL", 0x30) For $objItem In $colItems Return Round (100*($objItem.PercentProcessorTime - $aCount[1])/($objItem.Timestamp_Sys100NS - $aCount[2])) Next EndIf Return "" EndFunc |
Последний раз редактировалось amel27, 09-03-2007 в 03:20. Причина: правка скрипта Отправлено: 13:39, 03-03-2007 | #250 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|