Программа BatchRun
Программка BatchRun может пригодится для выполнения часто повторяющийся последовательностей простых операций типа копирования файлов или запуска программ. По существу, она выполняет функции обыкновенного командного файла (*.bat или *.cmd), но делает она это более красиво - в окне с индикатором хода выполнения, а не в черном окне сессии ДОС, как обыкновенный bat-файл.
Последовательность выполняемых программой команд задается при помощи текстового файла. Имя этого файла можно передать как параметр командной строки при запуске программы. Например, такая строка:
BatchRun Co_Copy.txt
запускает программу BatchRun.exe на выполнение последовательности команд, записанных в файле Co_Copy.txt.
Если имя файла в командной строке не задано, то по умолчанию, используется файл с именем BachRun.txt в текущей папке.
Во время своей работы, программа BatchRun выводит индикатор хода выполнения задания. Так как программка очень простая и не умеет точно оценивать объем выполненной работы, то для индикации хода выполнения используется просто число выполненных строк файла-задания.
Строка файла-задания, в первой позиции которого стоит символ "!", ";" или "rem" - считается комментарием и не выполняется.
Программка "понимает" один единственный макрос %week%. Если она находит в выполняемой строке такую последовательность символов (%week%), то она перед выполнением строки заменяет ее на номер дня недели: число от 1 до 7. Это сделано для того, чтобы иметь возможность автоматически копировать файлы в разные подкаталоги в зависимости от дня недели.
Программа выполняет своими средствами только две команды: "copy" (копировать) и "run" (запустить прорамму).
Остальные командные строки выполняются без "вникания" в их структуру при помощи функции ShellExecute Windows API, без ожидания завершения выполнения.
Формат строки для команды "copy" такой:
copy SourceFile TargetFile
причем, в качестве разделителя допустим только один символ пробела. Эта команда будет копировать файл SourceFile в файл TargetFile. Никакие символы *,? в именах файлов не допустимы. TargetFile - это именно имя файла, а не каталога. Вы можете использовать вместо "встроенной" команды copy, любые "внешние" программы, например xcopy, которая понимает множество параметров.
Формат строки для команды "run" такой:
run ProgramFile
Естественно, эта команда "запускает" на выполнение программу ProgramFile.
Вот пример командного файла, который копирует несколько файлов с сервера и в конце запускает обновленную программу:
; Обновление файлов системы "Компаньон"
copy \\Server\Co2001\Co2001.exe c:\Co2001\Co2001.exe
copy \\Server\Co2001\C_Ainv.dll c:\Co2001\C_Ainv.dll
copy \\Server\Co2001\C_Prod.dll c:\Co2001\C_Prod.dll
. . . . .
copy \\Server\Co2001\C_Zak.dll c:\Co2001\C_Zak.dll
run c:\Co2001\Co2001.exe
Вот еще пример командного файла , который производит резервное копирование файлов базы данных, причем каждый день недели копирование производится в другую папку:
; Резервное копирование базы данных
xcopy с:\co2001\dat\Store.dat z:\Arc\%week% /D
xcopy с:\co2001\dat\Price.dat z:\Arc\%week% /D
xcopy с:\co2001\dat\Comp.dat z:\Arc\%week% /D
. . . . .
Программа использует несколько параметров настройки из файла BatchRun.ini
Вот пример такого файла:
[MISK] DailyFlag=1
LastDate=28.12.01
LastTime=16:55
Caption=Резервное копирование файлов базы данных
где:
DailyFlag - Это признак того, что программа должна выполнять свое задание только один раз в день.
LastDate - Дата последнего выполнения программы в формате дд.мм.гг
LastTime - Время последнего выполнения программы в формате чч:мм
Caption - Строка, которая выводится в заголовке окна программы во время ее работы
Программа распространяется как sourseware с исходным текстом на Clarion for Windows.
Скачать бесплатно программу BatchRun
Вопросы и предложения по программе можно адресовать в PSoft^
e-mail:
ICQ: 66745758
телефон: (495) 564-1439
www: http://psoft.ru