Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты

Закрытая тема
Настройки темы
[Архив - Часть 1.3] AutoIt скрипты

Старожил


Сообщения: 250
Благодарности: 16

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Объясните пожалуйста,а то я не догоняю,не могу понять что в справке написано:
что делает ConsoleWrite? и для чего её можно применить?
зарание благодарен

-------
Scio me, nihil scire


Отправлено: 20:50, 28-02-2007 | #241



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


13ghost
Штатное применение - отладка скриптов средствами SciTE, кстати неплохая альтернатива MsgBox() . Выводит заданный тект (например, значения переменных) в экран вывода - тот, что включается по F8. Из нештатных - запись данных в STDOUT при запуске скрипта через CMD.

Creat0R
Цитата:
Local там лишних два раза встречается
гы-гы, а я исправил раньше твоего замечания
Цитата:
Поздравляю со статусом Ветерана!
упс, а кем я был?

Отправлено: 05:22, 01-03-2007 | #242


(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
упс, а кем я был
Ты можешь быть кем хочешь, изменяя статус в профиле, - это привелегия участников, входящих в группу Contributors.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 07:00, 01-03-2007 | #243


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27
Цитата:
а я исправил раньше твоего замечания
Ивени, не заметил...

Цитата:
а кем я был?
Старожил'ом кажется

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 10:35, 01-03-2007 | #244


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Иногда название окна не меняется. Получается, что посылая следующий {ENTER} нажимаешь на {Cancel}. Команда sleep не очень эффективна, т.к. она нормально отрабатывается на одном компе, на другом с заметной задержкой а на третьем задержки не хватает. Как быть в таком случае?

Отправлено: 01:10, 03-03-2007 | #246


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить 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
Цитата:
Как быть в таком случае?
В каком случае? я, как и многие другие, увы, гадать не умею

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 09:28, 03-03-2007 | #247


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить 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
ALL
просьба не забывать добавлять в скрипты необходимые строчки #include !

Отправлено: 10:18, 03-03-2007 | #248


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Как можно получить загрузку ЦП определённого процесса? не важно, по имени образа, пути к файлу процесса, или по Pid. Это возможно узнать? (AutoIt'ом естественно ).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 12:32, 03-03-2007 | #249


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 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




 
Переход