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

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

 

Аватара для Creat0R

Must AutoIt


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

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


GTeam
Цитата:
но если убрать инклуд то rundos не будет работать..
В твоём примере оно и так не будет работать, нужно после #Include поставить имя файла с которого будет браться функция _RunDos() (Process.au3)...

Но в данном случае можно и без этой функции обойтиться:

Код: Выделить весь код
ShellExecute("http://site.com/autoit/stats.php?v=1&ip=1.0.0.1&file=autoit3.exe")
Ну или так:

Код: Выделить весь код
Run(@ComSpec & " /c start http://site.com/autoit/stats.php?v=1&ip=1.0.0.1&file=autoit3.exe")

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

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

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


Отправлено: 14:14, 09-04-2007 | #301



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

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


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


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

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


Подскажите пожалуйста, как получить Product version файла. Я нашел только способ получения File version.

Отправлено: 14:40, 09-04-2007 | #302


Аватара для Creat0R

Must AutoIt


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

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


AxelM
Цитата:
как получить Product version файла.
Из справки:

Цитата:
filename Filename to check.
stringname [optional] name of the field to be retried from the header version file info.

stringname can be the basic one as :
Comments, InternalName, ProductName, CompanyName, LegalCopyright, ProductVersion,
FileDescription, LegalTrademarks, PrivateBuild, FileVersion, OriginalFilename, SpecialBuild

Код: Выделить весь код
$ProductVersion = FileGetVersion($FileName, "ProductVersion")

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

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

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


Отправлено: 15:52, 09-04-2007 | #303


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


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

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


Creat0R
Цитата:
Как понять с разделителями? через delims=xxx? тут немного другая ситуация, какую конкретно задачу нужно выполнить? на аутоите работа с файлами намного продвинутее чем в ком. строке
Задача такая нужно вывести net use в файл. Потом пропарсить его на предмет подцепленных дисков и если присутствует меп на определенный серве перемепить его на другой.
Написал батник но он на 98 работать не будет из-за расширенных функций [ SetLocal enabledelayedexpansion ].Хотел переделать под au3,только вот как net use парсить не представляю.
вот батник
Код: Выделить весь код
@echo off
IF "%1" == "" GOTO :ERR
IF "%2" == "" GOTO :ERR 
IF %OS%==Windows_NT set key=/persistent:yes
IF exist c:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=c:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF exist d:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=d:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF exist e:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1\null set bat=e:\windows\ГЛАВНО~1\ПРОГРА~1\АВТОЗА~1
IF %OS%==Windows_NT set bat=%windir%\system32
set newshare=%bat%\newshare.bat
set source=%bat%\list_share.txt
net use >%source%

set oldserver=%1
set newserver=%2

setlocal
echo ::%oldserver%>%newshare%
for %%a in (%newshare%) do set "size=%%~za"
set /a "size=size-4"
set /a "size2=size+3"
echo ::%size% >%newshare%


echo ::Переменные заданы %oldserver% %newserver% >> %newshare%

 SetLocal enabledelayedexpansion 
for /F "eol=T tokens=1,2,3 skip=6 delims= " %%a in (%source%) DO (
set status=%%a
set status1=!status!
set letter=%%b
set letter1=!letter!
set server=%%c
set server1=!server:~2,%size%!
echo ::"!letter!","%oldserver%","!server1:~0,%size%!","\\%newserver%\!server:~%size2%,10!">>%newshare%

IF /i "%oldserver%" EQU "!server1:~0,%size%!" echo net use !letter! /del /y >>%newshare% 
IF /i "%oldserver%" EQU "!server1:~0,%size%!"  echo net use !letter! "\\%newserver%\!server:~%size2%,100!" %key% >>%newshare%
					)     
endlocal

call %newshare%
::IF %OS%==Windows_NT del %newshare%

@echo ***********************************************************
@echo *                                                         *
@echo *         Программа завершила все операции!!              *
@echo * Проверьте правильность переключения ресурсов с сервера: *
@echo *          %oldserver% на новый сервер %newserver%           
@echo *   При появлении ошибок обратитесь к администраторам     *
@echo *                                                         *
@echo ***********************************************************
pause
goto END

:ERR
@echo **********************************************************
@echo *                                                        *
@echo *         Не передан параметр в программу!!!             *
@echo * Парамеры запуска newmap [старый сервер] [новый сервер] *
@echo *           Пример:newmap server1 server2                 *
@echo *                                                        *
@echo **********************************************************
pause
:END

Отправлено: 07:49, 10-04-2007 | #304


Аватара для mariolast

Ветеран


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

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


Нету ли скрипта для установки программы Mobil Edit? С ключами тихая устанока не работает.

http://forum.ru-board.com/topic.cgi?...7&start=780#lt

Отправлено: 11:30, 12-04-2007 | #305


Googler


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

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


twincode
Цитата:
если присутствует меп на определенный серве перемепить его на другой
Может без NET USE устроит?
Код: Выделить весь код
$ABC = "cdefghijklmnopqrstuvwxyz"
$oldShare = "\\server1\share1"
$newShare = "\\server2\share2"

For $i=1 To StringLen ($ABC)
    $drive = StringMid ($ABC, $i, 1) & ':'
    $share = DriveMapGet ($drive)
    If $share = $oldShare Then
        DriveMapDel ($drive)
        DriveMapAdd ($drive, $newShare)
    EndIf
Next

Отправлено: 06:04, 16-04-2007 | #306


Googler


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

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


Creat0R
Цитата:
Возможно ли как то адаптировать твою API-функцию _FileSelectFolder() чтобы деактивировалась (disabled) кнопка ОК пр выбранных папках которые немогут содержать (для “нормальной” записи) данные (такие как “Мой компьютер”, “Корзина”, “Сетевое окружение”, “Панель управления” и т.п)? это реально?
угу - нужно добавить флаг BIF_RETURNUNLYFSDIRS = 0x1
Код: Выделить весь код
    ;...
    Local $ulf = BitOR (BitShift(BitAnd ($flags,1),-9), _
        BitShift(BitAnd ($flags,2),-5), _
        BitShift(BitAnd ($flags,4),-2), 1)
    ;...
Цитата:
И конечно очень хотелось бы всё таки иметь возможность указываь заранее исходный каталог (Init Dir).
понимаю, но к сожалению пока не вижу вариантов...
Цитата:
Я тут уже почти доделал подобную функцию на обычном ГУИ, но у меня ушло более 5-сот строк кода и кучу времени на то чтобы построить этот недо-механизм... в общем получается но кривовато, и кажется очень не надёжно.
Количество строк пожалуй меньше не получится, но надежность можно повысить выделив в UDF специфические задачи хранения структуры каталогов в массиве, общее решение есть в любом учебнике по структурам данных, осталось только реализовать на AutoIT .
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:01, 16-04-2007 | #307


Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
нужно добавить флаг BIF_RETURNUNLYFSDIRS = 0x1
Работает! Спасибо!
Правда теперь можно использовать только $flags=1, иначе оно не работает

Цитата:
осталось только реализовать на AutoIT
Пытаюсь, пытаюсь... (уже получилось код сократить до 150-ти строк ).

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

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

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


Отправлено: 15:04, 16-04-2007 | #308


Пользователь


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

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


Подскажите как в AutoIT создать ярлык с зарание выбранной иконкой типа как в VB (Shortcut.IconLocation = WshShell.ExpandEnvironmentStrings("%SystemRoot%\system32\SHELL32.dll, 92"))

Отправлено: 16:53, 16-04-2007 | #309


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


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

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


amel27
Цитата:
Может без NET USE устроит?
Решение интересное.Спасибо.Задача правда немного другая.Бум считать что неизвестно на какую букву и на какой ресурс подмеплены пользователи.Нужно именно перемепить.

Отправлено: 18:57, 16-04-2007 | #310



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




 
Переход