Autoit сохранить файл как

Обновлено: 03.07.2024

Готовые скрипты и программы с открытым кодом на AutoIt:

1) Исходный файл в UINX кодировке, а сохраненный копированием в WINDOWS кодировке.
2) Добавились дефис и пробел: "- " в начале строк и символы табуляции заменились на 2 пробела.
Можно просто снести (заменить на символ табуляции) 2 пробела или "- " в начале всех строка и все.

;Проверяем во второй раз (первый игнорируем - будет выведено текущее значение, т.к ещё не была сделана запись), на сохранение
MsgBox ( 64 , "Results" , IniRead ( $sConfig , "Sect" , "Key" , "" ))

Func _CreateTempFile ( $s_DirectoryName = @TempDir , $s_FilePrefix = "

" , $s_FileExtension = ".tmp" , $i_RandomLength = 7 )
Local $s_TempName

Do
$s_TempName = ""
While StringLen ( $s_TempName ) < $i_RandomLength
$s_TempName = $s_TempName & Chr ( Random ( 97 , 122 , 1 ))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists ( $s_TempName )

Файлы upx.exe, Aut2exe.exe, AutoItSC.bin, Options.ini поместить в папку со скриптом (Script.au3).


Есть два значительных ограничения:

P.S
Я уверен это может реализовать намного лучше, но это то что набрасалось на скорую руку.

К NTFS потокам привязываться не хотелось бы. Не универсально как-то.

Maza Faka
Не мог бы ты в кратце объяснить в чём принцып твоего метода?

Думаю над возможностью записи в сам файл. UPX может компресить по LZMA алгоритму к стати. Ну так вот, если это архив, то нельзя ли смастерить такой алгоритм. Создаётся копия исполняемого exe (куда это ещё вопрос, но вариантов несколько, хотя хочется чтоб в оперативу куда-нибудь) и файл options.ini, гдето там же. По завершению программы она довносит файл options.ini в копию исполняемого файла с заменой. Далее удаляет себя и ложит новый файл на своё место. Отсюда вопрос, каким набором в командной строке можно заставить upx внести файл options.ini в архив с заменой?

Порывшись понял что архив создаётся с изменённым заголовком в итоге. и раскрыть его, так же как и воспринять, как архив UPX нельзя. Нужна ручная корректировка заголовка. Может кто с этим сталкивался?

$hGUI = GUICreate ( "Test GUI" , 200 , 100 )

$checkbox = GUICtrlCreateCheckbox ( "Check me" , 50 , 25 , 50 , 20 )

$checkButton = GUICtrlCreateButton ( "Get state" , 50 , 60 , 75 , 23 )

GUISetState ()

VitAlll2013

как в этом языке отправлять инпуты неактивному окну.
точьнее как работать с НЕ АКТИВНЫМИ окнами.

Типа я хочу печатать документ, а что бы в это время на заднем плане периодически нажимались кнопки в окне и возвращался ответ с некоторых пикселей екрана о цвете.

Вот такой вопросик у меня.

Или, если нужно дождаться запуска/остановки, а потом продолжить выполнение -

;Запускаем "Диспетчер Задач"
$iPID = Run ( "Taskmgr.exe" )

;Ждём появление процесса и окна "Диспетчера Задач"
ProcessWait ( $iPID )
WinWait ( $sTM_Title )

Sleep ( 2000 )

;5 раз меняем таб в лево, на всякий случай
For $i = 1 To 5
ControlCommand ( $sTM_Title , "" , "SysTabControl321" , "TabLeft" )
Next

;Нажимаем на кнопку Новая задача
ControlClick ( $sTM_Title , "" , "Button3" )

;Пишем запуск реестра
ControlSetText ( $sNT_Title , "" , "Edit1" , "Regedit.exe" )

;Нжимаем кнопку OK
ControlClick ( $sNT_Title , "" , "Button2" )

Готовые скрипты и программы с открытым кодом на AutoIt:

1) Исходный файл в UINX кодировке, а сохраненный копированием в WINDOWS кодировке.
2) Добавились дефис и пробел: "- " в начале строк и символы табуляции заменились на 2 пробела.
Можно просто снести (заменить на символ табуляции) 2 пробела или "- " в начале всех строка и все.

;Проверяем во второй раз (первый игнорируем - будет выведено текущее значение, т.к ещё не была сделана запись), на сохранение
MsgBox ( 64 , "Results" , IniRead ( $sConfig , "Sect" , "Key" , "" ))

Func _CreateTempFile ( $s_DirectoryName = @TempDir , $s_FilePrefix = "

" , $s_FileExtension = ".tmp" , $i_RandomLength = 7 )
Local $s_TempName

Do
$s_TempName = ""
While StringLen ( $s_TempName ) < $i_RandomLength
$s_TempName = $s_TempName & Chr ( Random ( 97 , 122 , 1 ))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists ( $s_TempName )

Файлы upx.exe, Aut2exe.exe, AutoItSC.bin, Options.ini поместить в папку со скриптом (Script.au3).


Есть два значительных ограничения:

P.S
Я уверен это может реализовать намного лучше, но это то что набрасалось на скорую руку.

К NTFS потокам привязываться не хотелось бы. Не универсально как-то.

Maza Faka
Не мог бы ты в кратце объяснить в чём принцып твоего метода?

Думаю над возможностью записи в сам файл. UPX может компресить по LZMA алгоритму к стати. Ну так вот, если это архив, то нельзя ли смастерить такой алгоритм. Создаётся копия исполняемого exe (куда это ещё вопрос, но вариантов несколько, хотя хочется чтоб в оперативу куда-нибудь) и файл options.ini, гдето там же. По завершению программы она довносит файл options.ini в копию исполняемого файла с заменой. Далее удаляет себя и ложит новый файл на своё место. Отсюда вопрос, каким набором в командной строке можно заставить upx внести файл options.ini в архив с заменой?

Порывшись понял что архив создаётся с изменённым заголовком в итоге. и раскрыть его, так же как и воспринять, как архив UPX нельзя. Нужна ручная корректировка заголовка. Может кто с этим сталкивался?

$hGUI = GUICreate ( "Test GUI" , 200 , 100 )

$checkbox = GUICtrlCreateCheckbox ( "Check me" , 50 , 25 , 50 , 20 )

$checkButton = GUICtrlCreateButton ( "Get state" , 50 , 60 , 75 , 23 )

GUISetState ()

VitAlll2013

как в этом языке отправлять инпуты неактивному окну.
точьнее как работать с НЕ АКТИВНЫМИ окнами.

Типа я хочу печатать документ, а что бы в это время на заднем плане периодически нажимались кнопки в окне и возвращался ответ с некоторых пикселей екрана о цвете.

Вот такой вопросик у меня.

Или, если нужно дождаться запуска/остановки, а потом продолжить выполнение -

;Запускаем "Диспетчер Задач"
$iPID = Run ( "Taskmgr.exe" )

;Ждём появление процесса и окна "Диспетчера Задач"
ProcessWait ( $iPID )
WinWait ( $sTM_Title )

Sleep ( 2000 )

;5 раз меняем таб в лево, на всякий случай
For $i = 1 To 5
ControlCommand ( $sTM_Title , "" , "SysTabControl321" , "TabLeft" )
Next

;Нажимаем на кнопку Новая задача
ControlClick ( $sTM_Title , "" , "Button3" )

;Пишем запуск реестра
ControlSetText ( $sNT_Title , "" , "Edit1" , "Regedit.exe" )

;Нжимаем кнопку OK
ControlClick ( $sNT_Title , "" , "Button2" )

home

Есть ли такая программа, которая сохраняет открытые программа? Для работы каждый раз запускаю много файлов (ворд, ексель). Иногда бывает, что не помню какой файл где лежит.


Когда работаю открываю достаточно много файлов. Мне бы хотелось все файлы, которые использую

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

Бардак автоматизировать нельзя.

Боюсь, что такой программы не существует. Если не можете запомнить то, с чем работаете - попробуйте записать.

ос х например прекрасно открывает все окна которые были открыты при выключении компьютера.

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

вот в Word и Excel(2010)

есть в ПОСЛЕДНИЕ

image

а в виндозе недавно посещенные места

а также документы


Почти, но не то. Там тоже надо искать в списке. А было бы хорошо открыть

документы через одну программу, которая специально создана, чтобы сохранять все используемые файлы в определенной работе, как сохраненные сессии в интернет-браузерах.
Например, сохраненная сессия (в той программе, что я имею ввиду) с названием "Диссертация".
При нажатии на него открываются из разных источников (если они существуют на момент открытия: флэшки, жесткие диски) файлы, которые используются в написании диссертации.
Для диссертации используются очень - очень много файлов, программ (Консультант, например), что требует достаточно много времени и нервов для их открытия. Особенно когда пытаешься вспомнить что и где лежит.


когда-то что-то такое видел среди стороннего софта

но сейчас не могу вспомнить, да и кажись глюкало это нипадецки.
Маленький секрет - в виртуальных машинах есть такой функционал: вмваре, виртуалбокс - пересаживайся работать в виртуалку и будет тебе счастье.
В терминальном сервере можно отключаться от сессии не завершая её

В этом уроке вы узнаете

Зачем использовать AutoIt?

Как использовать AutoIT с Selenium

Продвигаясь вперед, мы узнаем, как загрузить файл в веб-драйвер селена с помощью autoIT. Здесь нам нужно три инструмента для этого.

  • Selenium Webdriver
  • Редактор AutoIT и идентификатор элемента
  • Окно, которое вы хотите автоматизировать

Как скачать и установить AutoIT

Шаг 1) : перейдите по этой ссылке.

Шаг 2) : наведите курсор на выпадающие меню «Autoit» и «Autoit Editor».

Как использовать AutoIT с Selenium

Шаг 3) Нажмите «Загрузки».

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Шаг 5) . Теперь загрузите «Autoit editor», нажав кнопку «Загрузки».

Как использовать AutoIT с Selenium

Шаг 6): Нажмите на ссылку, как показано ниже.

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Шаг 6) : Для установки AutoIT-Click по обеим настройкам AutoIT по одной.

Перейдите в «C: \ Program Files (x86) \ AutoIt3 \ SciTE»

Как использовать AutoIT с Selenium

и щелкните файл «SciTE.exe», откроется редактор AutoIT, как показано на экране ниже.

Как использовать AutoIT с Selenium

Шаг 8) : теперь открывается элемент Identifier.

Перейдите в «C: \ Program Files (x86) \ AutoIt3»

Как использовать AutoIT с Selenium

И нажмите на файл «Au3Info.exe», идентификатор элемента откроется, как показано на экране ниже.

Как использовать AutoIT с Selenium

Примечание. После того, как вы закончили с этим идентификатором элемента, вам нужно закрыть его вручную, он не закроется автоматически.

Поиск элемента через идентификатор элемента и написание скрипта в редакторе AutoIT.

Например: мы будем использовать страницу «Написать нам» guru99 для загрузки резюме (файл Doc).

После нажатия кнопки «Выбрать файл» на странице «Написать нам» нам нужно вызвать скрипт AutoIT. Элемент управления сразу же переводится в autoit после нажатия кнопки «Выбрать файл» с помощью инструкции ниже, которая заботится о загрузке части.

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Шаг 2) : Теперь откройте окно загрузки файлов, нажав «Выбрать файл», которое является активностью Windows.

Как использовать AutoIT с Selenium

Шаг 3) . Перетащите инструмент поиска в элемент окна «Имя файла» окна загрузчика файлов, чтобы найти информацию об основных атрибутах, как показано на приведенном ниже экране со стрелкой.

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Начните писать скрипт для выбора файла для загрузки.

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

You can see a number of methods are displayed as shown in below screen. The good feature of AutoIT is that it is somewhat like Eclipse that suggests you some of the methods.

Как использовать AutoIT с Selenium

Parameter values for ControlFocus method:

Как использовать AutoIT с Selenium

Parameter values for ControlSetText method :

Как использовать AutoIT с Selenium

Предыдущие значения (т.е. атрибуты текстового поля «Имя файла») заменяются новыми значениями кнопки «Открыть». Вы можете видеть, что атрибут класса теперь изменен на «кнопку», которая ранее была «отредактирована» в окне идентификатора элемента AutoIT.

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Значения параметров для метода ControlClick :

Этот метод нажимает на кнопку «Открыть» в окне загрузки файлов.

Как использовать AutoIT с Selenium

Шаг 6) . На приведенном ниже экране видно, что сценарий AutoIT завершен для обработки загрузчика файла. Теперь можно закрыть идентификатор элемента и сохранить сценарий как «FileUpload» в указанном месте (E: \ AutoIT).

Как использовать AutoIT с Selenium

Теперь вы не можете выполнить этот скрипт напрямую, вам нужно скомпилировать этот скрипт.

Как использовать AutoIT с Selenium

Как использовать AutoIT с Selenium

Теперь мы будем использовать этот скрипт AutoIT в веб-драйвере Selenium. Проверьте ниже для вывода.

AutoIT Загрузить файл в Selenium Webdriver

  • Откройте Eclipse и начните писать код.
  • Когда селен нажимает на кнопку «Выбрать файл», открывается окно загрузки файла.
  • Затем нам нужно вызвать скрипт AutoIT, элемент управления немедленно передается в AutoIT для загрузки файла, а затем элемент управления отправляется обратно в селен, как показано ниже.

Как использовать AutoIT с Selenium

Шаг 1) : Разработка сценария селена в Eclipse.

  • Класс Runtime позволяет сценарию взаимодействовать со средой, в которой выполняется сценарий.
  • getRuntime () получает текущую среду выполнения, связанную с этим процессом.
  • Методы exec () выполняют скрипт AutoIT (FileUpload.exe).

Выше строка вызовет скрипт AutoIT в селене и загрузит файл.

Как использовать AutoIT с Selenium

Шаг 2) : Выполните сценарий Selenium в Eclipse.

Читайте также: