Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
Maza Faka
19-06-2008, 09:37
HORRIBLE
английские буквы их нужно преобразовать в русские »
Не совсем понятна задача, нужно просто заменить латинскую букву на русскую в порядке отсчёта?
Global $aLetters_Latin[27]
$aLetters_Latin[0] = 26
Global $aLetters_Kiril[33]
$aLetters_Kiril[0] = 32
Dim $ResultString, $var = False
For $i = 1 To $aLetters_Latin[0]
$aLetters_Latin[$i] = Chr(64 + $i)
Next
For $i = 1 To $aLetters_Kiril[0]
$aLetters_Kiril[$i] = Chr(191 + $i)
Next
$Read = FileRead(@ScriptDir & "\test.txt")
$aLetters = StringSplit($Read, "")
For $i = 1 To $aLetters[0]
$var = False
For $j = 1 To $aLetters_Latin[0]
If $aLetters_Latin[$j] = $aLetters[$i] Then
$var = True
$ResultString &= $aLetters_Kiril[$j]
ExitLoop
EndIf
Next
If $var = False Then $ResultString &= $aLetters[$i]
Next
ConsoleWrite("---> Result: " & $ResultString & @LF)
Пример текста test.txt
Hello world!
Буквы заменяются на заглавные.
alex888500
19-06-2008, 11:33
Привет!
Нужно обновлять программу на клиентах в сети, при этом обновляются все файлы+2 папки, количество файлов
изменяется, а папки нет.
Делал обновление при помощи батника:
@echo off
xcopy \\192.168.1.241\update "C:\Program Files\arena" /D /Y /R /E /Q
Но это довольно неудобно приходится копировать обновляемые файлы в отдельную папку update, потом оттуда
уже компьютеры забирают файлы, иначе скопируются ненужные папки. Сама прога находится здесь: C:\Program Files\Аrena
Команда XCOPY сравнивает файлы в папках и копирует только новые или измененные.
Какие будут идеи как это реализавать?
Maza Faka
19-06-2008, 12:12
alex888500
Создать массив с полными именами файлов и копировать каждый файл с помощью xcopy. А вообще для таких задач идеальна утилита robocopy.exe
HORRIBLE
19-06-2008, 16:04
Maza Faka,
За примерчик спасибо., но это немного не то.
Попробую по понятней объяснить , что требуется :
Имеется файл, в котором: Ctujlyz xtndthu
Bla bla vyjuj ntrcnf здесь написаны русские слова, только с английской раскладкой.
Как заменить буквы, чтобы прочитать, чего там написано?
HORRIBLE, Как заменить буквы, чтобы прочитать, чего там написано?
Я приводил пример подобного скрипта, вот тут (http://forum.oszone.net/post-652379.html#post652379).
А не поможет ли кто с процедурой определения цвета пиксела в заданном окне?
p.s. нечто подобное все таки нашел вот тут - http://forum.oszone.net/post-497838.html
но может у кого есть еще какой "более интересный" или "универсальный" алгоритм... например сравнение заданной области с эталоном.... а еще лучше, если есть алгоритм который может определять текст заданного цвета на изменяющемся фоне.
alex888500
20-06-2008, 10:34
Maza Faka
Создать массив с полными именами файлов и копировать каждый файл с помощью xcopy
В том и проблема что имена файлов постоянно меняются (добавляются новые)
DENoszone
21-06-2008, 12:11
хай..а тут могут сделать скрипт подбора паролей на сайт?
два файла 1 ники 2 пароли
Maza Faka
21-06-2008, 13:31
DENoszone
Извини, но по моему ты ошибся адресом. Здесь не Hack-зона.
Serge_Grey
24-06-2008, 10:09
Как прикрепить файл к сообщению, создаваемому функцией _INetSMTPMail?
Как прикрепить файл к сообщению, создаваемому функцией _INetSMTPMail? »никак, на оффсайте есть альтернативное решение через COM:
Smtp Mailer That Supports Html And Attachments., Also Secure SMTP mail (GMail) (http://www.autoitscript.com/forum/index.php?showtopic=23860)
leprecon
25-06-2008, 13:26
Здрасте всем! У меня возник такой вопрос: Можно ли как нибудь определить с помощью Autoit подключен ли кто к твоему радмин серверу? И если подключен то скрипт должен заблокировать на время работы мышь и клавиатуру. Так как в самом радмине такой фишки нет, то хотелось бы эту фишку добавить при помощи скриптов, который бы наблюдал за сервером и блокировал мышь с клавом во время управления компьютером (не при просмотре, а именно при управлении)
Maza Faka
25-06-2008, 14:13
leprecon
заблокировать на время работы мышь и клавиатуру. Так как в самом радмине такой фишки нет
Дык вроде бы в 3-ей версии такую фишку включили.
leprecon
25-06-2008, 14:36
Дык вроде бы в 3-ей версии такую фишку включили. »
У меня стоит сейчас последняя версия радмина (3.2) И там такой фишки нет. На оф. форуме радмина ихние эксперты говорили, что такую фишку можеть быть введут в течение года... :o И я думаю, что скрипт будет написать гораздо быстрей...
Maza Faka
25-06-2008, 15:19
У меня стоит сейчас последняя версия радмина (3.2) И там такой фишки нет. На оф. форуме радмина ихние эксперты говорили, что такую фишку можеть быть введут в течение года »
Всё ещё обещают? Уже 3 года обещают :tongue:
И я думаю, что скрипт будет написать гораздо быстрей... »
Ага, только вот как его написать? :) Может в радмине есть опция типа: "Выполнить при подключении к клиенту?"
leprecon
25-06-2008, 16:36
Ага, только вот как его написать? Может в радмине есть опция типа: "Выполнить при подключении к клиенту? »
Нет нету такой опции.. Была б не спрашивал... А между 2 и появлением 3 версии прошло 5 лет при отсутствии каких либо существенных изменений...
А может можно при помощи autoit как нибудь фильтровать трафик на определеном порту? Хотя это вряд ли, что-то даст.
Может в радмине есть опция типа: "Выполнить при подключении к клиенту?" »еще варианты:
- включить запись в системный журнал и ждать нужных событий;
- попробовать считать цвет иконки в трее;
- вообще не пытаться ничего определять, а блокировать асинхронно когда нужно.
но это только половина проблемы - не факт, что блокировка локальной консоли не заблокирует и удаленную
Maza Faka
26-06-2008, 11:55
- попробовать считать цвет иконки в трее »
Да, если иконка меняет свой цвет, то можно выполнить действие на основе этого поведения.
leprecon
26-06-2008, 11:56
- включить запись в системный журнал и ждать нужных событий »
Вот этот вариант можно попробывать. Но не факт что сервер записывает в журнал события мгновенно. Но это утверждение я сейчас проверю :)
- попробовать считать цвет иконки в трее »
Этот вариант не подойдет, так как иконка из трея убрана, во избежания умышленого отключения сервера. :cool: Да и по иконке не определишь тип подключения. Там можно увидеть только подключен ли кто к твоему компьютеру или нет.
- вообще не пытаться ничего определять, а блокировать асинхронно когда нужно »
А вот об этом способе поподробней можно?
P.S. Насчет первого способа я думаю что этот способ самый рабочий, так как сервер записывает в лог сразу при подключении, и там же записывает тип подключения. Кароче сейчас буду кумекать над этим вопросом :biggrin:
И еще так как скрипт будет постоянно висеть и проверять журнал на наличие нужных записей (предположительно каждую секунду), не будет ли это сильно загружать процесор?
И скажите пожалуйста как можно встроить Au3ToPost в SciTE? Я все делал как выше было описано (инстукции собирал по кускам, так как единой инструкции не нашел) и после запуска выскакивает ошибка:
Line -1:
Error:Unkown option or bad parametr specifed
можно при помощи autoit как нибудь фильтровать трафик на определеном порту? »думаю, можно узнать список установленных TCP-соединений (а-ля NETSTAT), но "тип подключения" таким образом не определить - это внутренние дела RAdmin'а.
об этом способе поподробней можно? »ничего особенного - нужно только определиться с "флагом", который будет служить скрипту командой на выполнение определенных действий - это может быть файл на какой-нибудь шаре, параметр реестра, etc. К примеру - создал файл с именем "BlockInput.txt" - консоль заблокировалась, удалил - разблокировалась... тут вариантов куча, вплоть до управления скриптом по сети... тут и до своего RAdmin'а на AutoIT недалеко :)
так как скрипт будет постоянно висеть и проверять журнал на наличие нужных записей (предположительно каждую секунду), не будет ли это сильно загружать процесор? »один раз в секунду не будет, но можно вообще не проверять а поставить скрипт на ожидание определенного события (запись в журнале) и пусть система запускает его когда надо, примерно так:$objWMI = ObjGet("winmgmts:{(Security)}\\.\root\cimv2")
; Создаем фильтр событий, фиксируемых скриптом
$colEvents = $objWMI.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " & _
"TargetInstance ISA 'Win32_NTLogEvent' " & _ ; источник событий - журнал событий
"AND TargetInstance.Logfile='Application' " & _ ; только журнал приложений
"AND TargetInstance.SourceName='r_server'") ; только Remote Administrator
While 1
$objEvent = $colEvents.NextEvent ; Ожидание события
$sText = ""
For $s in $objEvent.TargetInstance.InsertionStrings
$sText &= $s ; Текст события
Next
Switch $objEvent.TargetInstance.EventIdentifier
Case 15 ; Код обработки события отключения
Consolewrite( "Text: " & $sText & @CR )
Case 17 ; Код обработки события подключения
Consolewrite( "Text: " & $sText & @CR )
EndSwitch
Wend
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.