[Архив - Часть 1.3] AutoIt скрипты

Ответить
 • Просмотры: 8
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

mpn


Цитата:



Уже перепробовал все варианты



Используя ком. строку пробовал?



Код:

Код: Выделить всё

FileChangeDir("Путь к проге")
Run(@ComSpec, " /c start telnet.exe", "", @SW_HIDE)

DenchikK


Цитата:



ошибка выдается



Какая у тебя версия AutoIt?
Аватара пользователя
DenchikK

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение DenchikK »

Creat0R


Цитата:



Какая у тебя версия AutoIt?




Цитата:



AutoIT версий 3.1.0 и 3.1.1 ставил.



Добавлено:

Всё, спасибо! Заработало! Зашел на сайт - а там версия новее. Скачал - всё замечательно! Ещё раз спасибо!
Аватара пользователя
mpn

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение mpn »

Creat0R

Пробовал и с командной строкой. При этом первым запускается процесс cmd.exe, именно он становится доступным для ввода/вывода (последний параметр в команде run =3). Запускающийся следом telnet.exe не принимает команды, отправленные при помощи StdinWrite, даже при правильно указанном PID.

Поясню еще. Программу необходимо запускать в т.ч. и ночью на заблокированном компьютере. Поэтому использование send, отправляющей символы в активное DOS-окно, отпадает. Различные Control.. не работают с такими окнами. Пробовал вместо telnet запускать hyperterm.exe, но при его закрытии (на заблокированном ПК) Windows ругается: "...неизвестная ошибка...", и больше его запускать не хочет. Использование экзотических терминальных программ ограничивает мобильность скрипта.

Выход где-то должен быть!
Аватара пользователя
DenchikK

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение DenchikK »

Creat0R

А можно Вас ещё побеспокоить? Никак не могу изменить скрипт так, чтоб

удалялись несколько файлов, и с нескольких путей. Приходится для

каждого файла и каждого пути писать отдельный скрипт, при компиляции

каждый скрипт начинает весить 180 kb, и несколько - уже весят за 2

мегабайта!

Заранее спасибо!
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

mpn

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



DenchikK


Цитата:



изменить скрипт так, чтоб

удалялись несколько файлов, и с нескольких путей.



Для каждого файла, добавляй соответственно такой блок кода:





Код:

Код: Выделить всё

$Path = @ScriptDir & "\имя другого каталога"
$FileName = "имя другого файла.txt"
$DirsList = _DirListToArray ($Path)
For $i = 1 to $DirsList[0]
    FileDelete($DirsList[$i] & "\" & $FileName)
Next
FileDelete($Path & "\" & $FileName)

А ещё лучше, если действительно много таких "процедур" нужно делать, создать для этого процесса отдельно функцию:





Код:

Код: Выделить всё

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

И тогда можно использовать её каждый раз при необходимости....







Код:

Код: Выделить всё

_DeleteFileInFolders("File1.txt", "C:\Dir1")
_DeleteFileInFolders("File2.txt", "C:\Dir2")
_DeleteFileInFolders("File3.txt", "C:\Dir3")
И т.д.



P.S

Функцию поместить в конец скрипта (после трёх существующих функции - _FileListToArray, _ArrayAdd и _DirListToArray).
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

Creat0R

Можно внедрить целую HTML страницу:



Код:

Код: Выделить всё

#include 
Opt("GUIOnEventMode", 1)
$oIE = ObjCreate("Shell.Explorer.2")
GUICreate( "Внедренная HTML-страница",640,480)
$GUIActiveX=GUICtrlCreateObj( $oIE,0,0,640,480 )
GUISetOnEvent($GUI_EVENT_CLOSE,"closed")
GUISetState ()
$oIE.navigate("C:\Моя страничка.html")
While 1
Sleep(1000)
Wend
Func closed()
	Exit
EndFunc

Или сделать имитацию ссылки, вроде этой:



Код:

Код: Выделить всё

#include  
Opt("GUIOnEventMode", 1)
$title="Имитация ссылки"
$test= GUICreate($title,"320","240")
GUISetOnEvent($GUI_EVENT_CLOSE,"closed")
$label=GUICtrlCreateLabel("Ссылка",10,10,80,20)
GUICtrlSetCursor (-1,0 )
GUICtrlSetColor(-1,0x0000ff)
GUICtrlSetFont(-1,14,400,6)
GUICtrlSetOnEvent(-1,"event")
GUISetState()
While 1
	Sleep(1000)
WEnd
Func closed()
	Exit
EndFunc
Func event()
	GUICtrlSetColor($label,0xAC00A9)
	Run("explorer.exe http://forum.oszone.net/")
EndFunc
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

Доброго времени суток!



Интересует следующее - можно ли при помощи AutoIt скрипта сделать следуюющее.

Пользователь входит в систему, появляэтся переменная окружения %USERNAME%=zzz_aaa, где zzz - группа пользователя, aaa - инициалы пользователя.

Нужно получить только группу пользователя, и ввести в систему новую переменную set USERGROUP=zzz.

Вопрос каким образом можно взять из имени пользоваетля только группу.



Спасибо.

З.Ы. Имя пользователя находится в актив директори.
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

Sla8ak


Цитата:



каким образом можно взять из имени пользоваетля только группу



Нужно разделить значение переменной по разделителю _, и взять первое значение из массива - а прописать новую переменную, думаю можно через EnvSet()...







Код:

Код: Выделить всё

$SplitUserName = StringSplit(@UserName, "_")
If IsArray($SplitUserName) Then
    $UserGroup = $SplitUserName[1]
Else
    $UserGroup = @UserName
EndIf
EnvSet("USERGROUP", $UserGroup)
EnvUpdate()
Аватара пользователя
sattva

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение sattva »

С помощью какой команды можно переименовывать файлы!!? Например wgatray.exe в wgatray.exe.old.
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

sattva


Цитата:



С помощью какой команды можно переименовывать файлы!!?



Как таковой, команды для переименования нет. Но для этой цели используется команда перемещения файла (FileMove()) в том же каталоге...





Код:

Код: Выделить всё

FileMove("wgatray.exe", "wgatray.exe.old")



-----------------------------------------

У меня есть такой вопрос:



-Возможно ли в GUI, построить реальную ссылку, на которую можно было бы нажать, и она открывалась в браузере (желательно чтобы был выбор с каким браузером запускать)?
Ответить

Вернуться в «AutoIt»