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

Компьютерный форум 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

 

Аватара для Sanja Alone

Ищу Человека…


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

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


desperate
Цитата:
тогда создам отдельный топик
Думаю, что лучше дополнить уже существующую тему Соединение по dial-up автоматом.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 17:43, 11-12-2006 | #41



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

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


Старожил


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

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


amel27
Огромное спасибище! Всё работает!

Отправлено: 10:59, 12-12-2006 | #42


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


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

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


Извините пожалуйста, а существует ли такая команда с помощью которой можно было бы закрыть определенное окно!

Например я сделал так что при открытии моего диска(autorun)он сначало записывает мой шрифт в директорию %windir%\Fonts и
Я сделал так
поместил explorer.exe в директорию диска и написал в cmd файле
%CDROM%\Autoplay\explorer.exe %windir%\Fonts
Это мне нужно чтобы он открывался
А как сделать так чтобы она вслед за этим закрывалась автоматически
Пожалуйста напишите мне

Отправлено: 09:09, 14-12-2006 | #43


Аватара для DenchikK

Старожил


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

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


А можно ли средствами AutoIT (навеоняка можно, только придумать не
могу как) удалить файл с фиксированным именем во всех неопределенных
деррикториях - имена, количество, уровни которых заранее неизвестны?

Допустим имеем файл который надо удалить - 1.txt
Имеем каталог в котором его надо удалять - 2

И вот в этом то каталоге может быть любое количество каталогов,
подкаталогов, подподкаталогов - какие - не понятно, имена их - не
известно, количество - то же, уровней вложения - тем более.

Мозг опухают - в хелпе пока ничего не смог отыскать.

Отправлено: 18:00, 14-12-2006 | #44


Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
Все что касается FileOpenDialog и FileSaveDialog удалось осуществить... и даже чуть больше - новые UDF полностью совместимы с AutoIT-овскими, плюс новые возможности:
Абалдеть!!! Спасибо! осталось только для FileSelectFolder придумать функцию, и будет суперь счастье

Есть вопрос - а можно чтобы вместо (как опция) прикрепления гуи, можно было также прикреплять любое другое окно (по его заголовку)?

P.S
При разукрашивании скрипта, если поставить Send("{...}") то скрипт ругается на неопознанные стили, а точнее, это если только есть кривые круглые ораньжевые скобки

Heaven
Цитата:
существует ли такая команда с помощью которой можно было бы закрыть определенное окно!
WinClose("Заголовок окна", "Текст окна")
Цитата:
как сделать так чтобы она вслед за этим закрывалась автоматически
Ты имеешь в виду папка Fonts? - WinClose("Fonts")

DenchikK
Цитата:
А можно ли средствами AutoIT (навеоняка можно, только придумать не
могу как) удалить файл с фиксированным именем во всех неопределенных
деррикториях - имена, количество, уровни которых заранее неизвестны?
Можно (использовал функцию by amel27) :

Код: Выделить весь код
#include <File.au3>
#include <Array.au3>

$Path = @ScriptDir & "\2"
$FileName = "1.txt"

$DirsList = _DirListToArray ($Path)
For $i = 1 to $DirsList[0]
    FileDelete($DirsList[$i] & "\" & $FileName)
Next
FileDelete($Path & "\" & $FileName)

Func _DirListToArray ($sPath)
    Local $i, $j, $rlist[1]=[0], $blist, $alist=_FileListToArray ($sPath, '*', 2)
    If IsArray ($alist) Then
        For $i=1 To $alist [0]
            _ArrayAdd ($rlist, $sPath & "\" & $alist [$i])
            $blist = _DirListToArray ($sPath & "\" & $alist [$i])
            If $blist[0]>0 Then
                For $j=1 To $blist [0]
                    _ArrayAdd ($rlist, $blist [$j])
                Next
            EndIf
        Next
    EndIf
    $rlist [0] = UBound ($rlist) - 1
    Return $rlist
EndFunc

Отправлено: 20:59, 14-12-2006 | #45


Аватара для DenchikK

Старожил


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

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


Creat0R
Извините пожалуйста за глупый вопрос - скопировал скрипт в файл au3,
переписал в тот каталог откуда запускаю - 2 файла include. Запускаю -
а мне выдается ошибка - Error: Unknown function name. на строчке
Local $i, $j, $rlist[1]=[0], $blist, $alist=_FileListToArray ($sPath, '*', 2)

Отправлено: 04:15, 16-12-2006 | #46


Googler


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

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


DenchikK
проверь наличие в заголовке скрипта строчек:
Код: Выделить весь код
#include <File.au3>
#include <Array.au3>
Creat0R
Цитата:
Есть вопрос - а можно чтобы вместо (как опция) прикрепления гуи, можно было также прикреплять любое другое окно (по его заголовку)?
я не спец в ГУИ, но думаю в общем случае это неосуществимо
Цитата:
скрипт ругается на неопознанные стили
стиль для скобок добавил
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:01, 16-12-2006 | #47


Аватара для DenchikK

Старожил


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

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


amel27
Есть эти строчки - один в один все как указано у Creat0R

Отправлено: 11:41, 16-12-2006 | #48


Googler


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

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


DenchikK
Цитата:
переписал в тот каталог откуда запускаю - 2 файла include
а разве со штатного INCLUDE эти файлы не подтягиваются?... Из справки по Include - если AutoIT установлен штатным установщиком то файлы берутся из установочного каталога\Include, в противном случае в каталоге скрипта нужно создавать папку с именем Include и туда пихать UDF-файлы или править реестр (хотя последние варианты не пробовал).

Отправлено: 12:11, 16-12-2006 | #49


Аватара для DenchikK

Старожил


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

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


Цитата:
а разве со штатного INCLUDE эти файлы не подтягиваются?
Это я уже от безысходности. Варианты пробую. AutoIT версий 3.1.0 и 3.1.1 ставил. В
Цитата:
установочного каталога\Include
они существуют, пихал эти файлы и рядом со скриптом, и рядом со скриптом каталогом - не работает! Что такое может быть?
Добавлено:
Нашел в скрипте Sanja Alone функцию _FileListToArray и поместил
её в файл \Include\Array.au3 (ибо этой функции ни в одно файле
каталога \Include не было), вот код:
Код: Выделить весь код
Func _FileListToArray($sPath, $sFilter = "*", $iFlag = 0)
        Local $hSearch, $sFile, $asFileList[1]
        If Not FileExists($sPath) Then
                SetError(1)
                Return ""
        EndIf
        If (StringInStr($sFilter, "\")) or (StringInStr($sFilter, "/")) or (StringInStr($sFilter, ":")) or (StringInStr($sFilter, ">")) or (StringInStr($sFilter, "<")) or (StringInStr($sFilter, "|")) or (StringStripWS($sFilter, 8) = "") Then
                SetError(2)
                Return 0
        EndIf
        If Not ($iFlag = 0 Or $iFlag = 1 Or $iFlag = 2) Then
                SetError(3)
                Return ""
        EndIf
        $asFileList[0] = 0
        $hSearch = FileFindFirstFile($sPath & "\" & $sFilter)
        If $hSearch = -1 Then 
                SetError(0)
                Return 0
        EndIf
        While 1
                $sFile = FileFindNextFile($hSearch)
                If @error Then ExitLoop
                If $iFlag = 1 Then
                        If StringInStr(FileGetAttrib($sPath & "\" & $sFile), "D") <> 0 Then ContinueLoop
                EndIf
                If $iFlag = 2 Then
                        If StringInStr(FileGetAttrib($sPath & "\" & $sFile), "D") = 0 Then ContinueLoop
                EndIf
                ReDim $asFileList[UBound($asFileList) + 1]
                $asFileList[0] = $asFileList[0] + 1
                $asFileList[UBound($asFileList) - 1] = $sFile
        WEnd
        FileClose($hSearch)
        SetError(0)
        If $asFileList[0] = 0 Then Return ""
        Return $asFileList
EndFunc   ;==>_FileListToArray
теперь ошибка выдается такая:
Local $i, $j, $rlist[1]=[0], $blist, $alist=_FileListToArray ($sPath, '*', 2)
Local $i, $j, $rlist[1] ERROR
Error: No virriable given for "Dim", "Local", "Global" or "Const" statement.

Последний раз редактировалось DenchikK, 17-12-2006 в 05:41.


Отправлено: 03:44, 17-12-2006 | #50



Компьютерный форум 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




 
Переход