Автоматизация работы с файлами и каталогами

MouseRobot позволяет автоматизировать работу с файлами и каталогами.

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

Для часто используемых команд работы с файлами и каталогами есть готовые фрагменты, доступные в разделе "Файлы и каталоги".

Создание, копирование, переименование, перемещение и удаление

Сначала нужно добавить в задачу подходящий фрагмент из раздела "Файлы и каталоги". Фрагменты состоят из единственного шага "Команда Windows", для которого в поле "Команда" указано имя соответствующей команды управления файлами (например, "copy"), а в поле параметры - определенные через переменные имена файлов и каталогов (например "{sourceFileName}" и "{destFileName}"), и некоторые вспомогательные параметры,  определяющие режим выполнения команды (например "/Y" для перезаписи существующих файлов).

После добавления шага нужно подставить в поле "Параметры" желаемые имена файлов или каталогов вместо переменных, при этом во всех фрагментах принято обозначать как source исходный файл или каталог, а как dest - новое имя файла или каталог назначения.

Можно также заменить переменные на другие переменные, либо задать их значения в предшевствующих шагах. Более подробная информация по переменным и работе с переменными приведена в статье "Использование переменных и функции в MouseRobot".

Пример

Копирование файла "C:\Documents\resume.doc" в папку "D:\Backup":

Для проверки успешности выполнения операции можно сравнить значение переменной {LastProcessExitCode}, автоматически устанавливаемой после выполнения шага, с нулем.

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

При задании маски могут использоваться специальные символы:

  • * - любое количество символов
  • ? - один произвольный символ

Примеры масок:

  • *.* - все файлы (любое имя и расширение)
  • *.doc - все файлы с расширением DOC
  • *10_2009*.bmp - все картинки в формате BMP, в имени которых содержится "10_2009"
  • file.txt - один конкретный файл "file.txt"
  • 1??.png - все картинки PNG, имена которых начинаются с "1" и состоят из трех символов (букв или цифр)

Пример

Удаление всех файлов в каталоге C:\Temp

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

Перебор файлов по маске

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

Встроенная функция {FileList} принимает в качестве параметра путь и маску файла. Описание и примеры задания масок файлов приведены выше.

Помимо {FileList} существуют другие функции для работы с файлами и каталогами:

  • Список файлов, соответствующих маске {FileList("c:\*.*")}
  • Список файлов, включая файлы в подкаталогах {FileListRecursive("c:\*.*")}
  • Список каталогов, соответствующих маске {DirectoryList("c:\*.*")}
  • Список каталогов, включая подкаталоги {DirectoryListRecursive("c:\*.*")}

Упаковка и распаковка файлов

MouseRobot выполняет упаковку и распаковку данных с помощью входящей в поставку программы-архиватора 7-Zip (http://7-zip.org), поддерживающей форматы 7z, lzma, cab, zip, gzip, bzip2, Z и tar.

Для упаковки файлов добавьте в задачу фрагмент "Упаковать файлы"

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

Для распаковки файлов воспользуйтесь фрагментом "Распаковать файлы", настроив его аналогичным образом.

Чтение и запись информации в текстовые файлы

Фрагмент "Прочитать текст из файла" позволяет запомнить в переменной {fileContent} содержимое текстового файла {fileName}.

Вместо переменной {fileName} можно подставить имя файла (желательно указывать полный путь к нему) или любую другую переменную. То же касается и переменной, принимающей содержимое файла - ее допустимо заменить на любую другую.

Фрагменты "Записать текст в файл" и "Добавить текст в файл" предназначены для сохранения текстового представления переменной {fileContent} в файл {fileName}

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

Различие фрагментов в том, что фрагмент "Добавить текст в файл" дописывает {fileContent} в конец существующего файла (либо автоматически создает файл, если его еще нет), а фрагмент "Записать текст в файл" заменяет содержимое.

Единственно, "игры скуби ду бродилки играть"что теперь не нравилось Реджи "комната барби игра"в Палм-Бич это то, что город находился в "скачать игру нарды торрент"Америке.

Там готовят отличные баклажаны.

Пока он "скачать песни с радио русское радио"наводил порядок "пимафуцин таблетки цена"на столе, Драм допил виски и "ovi suite скачать"подобрал с тарелки соус розовато-серой оливкой.

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

Разрешается все, что угодно, как в кетче.

Стрелой он пронзил зеленоватый сумрак.

 

Добавить закладку и поделиться

Share/Bookmark

Подписаться на блог

AutomationBox Blog

  Отзывы

 

Показать все

 

Одна из используемых на работе программ,стала периодически "зависать" с выдачей сообщения об ошибке. При каждом таком зависании пользователи звонилиимне и приходилось подключаться к серверу и вручную перезапускать программу. В поисках решения наткнулся на MouseRobot и буквально через 15 минут сделал и автоматическое отслеживание сообщения об ошибке, и перезапуск нужной программы! Спасибо разработчикам!
Владимир, системный администратор

MouseRobot 2.0 поражает своими возможностями. В нем есть циклы, условные переходы, переменные и функции и многое другое. Я уже автоматизировал все на моем компьютере, что можно. Мне безумно нравится автоматизировать с MouseRobot.
Тимур Ибрагимов, студент

  Новости


21 ноября 2010 г.
Best Soft 2010 Award MouseRobot вошел в список лауреатов в номинации Лучшее ПО 2010 г. по версии журнала PC Magazine/RE


21 ноября 2010 г.
Новая система обратной связи


17 Октября 2010 г.
Изменен дизайн сайта


16 Октября 2010 г.
Вышел MouseRobot 2.0!

О программе
Загрузить сейчас!