Команды для the bat
Устанавливаем переменную answer в пустое значение (необходимо, для того чтобы затереть предыдущее значение, например, если батник исполняется несколько раз). set с ключом /p устанавливает значение переменной, которое вводится пользователем. Проверяем значение переменной и если оно не равно y завершаем выполнение батника.
Как получить текущий месяц, день, год и т.п.?
В батниках есть возможность получать подстроку используя синтаксис %variable:
m,n% Где variable это название переменной m – индекс первого символа, а n – количество символов подстроки.
Следовательно, если команда echo %date% (а формат даты может у вас отличатся) выведет 13.06.2009, то для того чтобы получить текущий месяц достаточно выполнить %date:
3,2% Таким образом, если нам необходимо, например, сформировать имя файла или директории, которое соответствует текущему месяцу и дню, мы это сделаем так:
Лично мне такое понадобилось для задания ключа /d для xcopy.
Как вывести пустую строку в лог-файл?
Я не сразу догадался, что это можно делать вот так: :)
Т.е. нужно поставить точку после echo.
Предыдущая команда выполнена успешно?
В большинстве случаев это:
Архивирование файла с переменным именем
Задача состоит в том, чтобы заархивировать файл с именем, которое меняется ежедневно, но в другую папку. Следующим куском кода
мы выбираем все файлы по маске, исполняя команду rar a -ep c:\other_dir\%%
ni.rar %%i для каждого, где %%
ni это только имя файла.
Имя текущего исполняемого батника
Нужно, например, для того чтобы вести один лог для нескольких батников.
«Функция» в батниках
Если мы исполняем в одном батнике несколько повторяющихся команд, но с разными значениями переменных, то это можно реализовать так:
Таким образом, у меня отсылается десяток разных файлов разным получателям, используя The Bat! Такой файл читать и редактировать намного удобнее, чем это было бы десять команд The Bat! подряд.
Получить последний по дате создание файл
Для начала получим список всех файлов, отсортированных по дате модификации:
И пройдемся по нему циклом.
Логично, что по завершению цикла в переменной %lastfile% у нас будет последний по дате модификации файл ;)
Выкачать файл по FTP
Где файл file_to_ftp.txt будет у нас выглядеть следующим образом:
Создаем нумерованные каталоги с инкрементом на единицу
Разобраться в коде предлагаю вам самим. :) Основная возможность, которую я хотел показать данным примером, это использование ключа /a команды set для вычисления выражений. ;)
Сегодня начинается крупномасштабная агитационная компания за использование почтовой программы The Bat!. Это мощный и удобный почтовый менеджер, обладающий дружественным интерфейсом и множеством полезных функций, которые сделают работу с почтой легкой и быстрой. Если вы все еще предпочитаете читать письма при помощи web-интерфейса, тогда мы идем к вам.
Основные преимущества The Bat!
Почтовый менеджер The Bat! по многим параметрам опережает другие популярные почтовые программы, такие, как Microsoft Outlook Express, Netscape Messenger и аналогичные.
The Bat! поддерживает неограниченное число почтовых ящиков на различных серверах. При этом для каждого ящика предусмотрена независимая конфигурация. Программа умеет манипулировать с письмами непосредственно на сервере, что позволит определить нежелательную корреспонденцию и не загружать ее. Также стоит отметить встроенную функцию дозвона до интернет-провайдера.
В качестве других особенностей программы можно отметить поддержку смарт-карт с секретным ключом PGP (Pretty Good Privacy), которые используются для почтовых транзакций, где требуется повышенная секретность, а также импорт писем из популярных форматов MSG, EML и из формата почтовых ящиков Unix.
Пару слов о последней версии
На сегодняшний день последней версией программы является 3.54. Если в "Бате" 2.xx был относительно аскетичный интерфейс, то The Bat! 3.xx может похвастаться видом а-ля Windows XP.
Полезные советы, которые пригодятся при работе с почтовым менеджером, представлены в следующей части статьи.
Практические советы
№1. Для прикрепления файла к письму можно просто перетащить его в окно The Bat!.
№3. Чтобы изменять регистр слов в позиции курсора, можно пользоваться следующими комбинациями клавиш: Ctrl+"]" преобразует все символы в строчные, Ctrl+"[" - в заглавные, Ctrl+"/" - позволяет набирать cлoвo c заглавной буквы.
№4. Если вы хотите автоматически помещать письма от определенных отправителей в отдельные папки, то необходимо создать правило сортировки для входящей корреспонденции. Для этого выделите в списке одно из интересующих вас писем, в контекстном меню выберите пункт "Специальное", далее "Создать правило сортировки" и в появившемся окне внесите требуемые настройки (укажите имя новой папки и т.д.). Таким же образом можно сортировать исходящую, ответную и прочитанную корреспонденцию.
№5. The Bat! при удалении писем не уничтожает их физически, а просто помечает как удаленные. Чтобы стереть их окончательно, можно воспользоваться командой "Сжать папку" в меню "Папка".
№6. Если вы собираетесь переустановить The Bat! или перейти к более поздней версии программы и при этом не потерять все письма и настройки почтовых ящиков, создайте резервную копию базы данных ("Инструменты" -> "Резервная копия"). Впоследствии из нее можно будет восстановить необходимую информацию.
№7. В The Bat! на каждый экаунт (ящик) можно поставить пароль. Но иногда его случается запамятовать. И что делать? Не волнуйтесь, никакой трагедии не произошло. Откройте hex-редактором файл account.cfg и среди первых строк увидите заветное слово.
№8. Парковка писем, т.е. закрепление за определенной папкой, позволит избежать их случайного перемещения, удаления или уничтожения по команде "Удалить старые письма". Папку, содержащую закрепленное письмо, удалить невозможно. Чтобы запарковать письмо, нужно нажать на синюю точку слева от послания в диспетчере писем.
№9. Чтобы быстро написать несколько похожих писем, можно использовать готовые шаблоны или создать свои ("Ящик" -> "Свойства почтового ящика" -> "Шаблоны").
Несколько слов о макросах
В этом разделе я бы хотел подробно остановиться на макросе IF, который позволяет накладывать условия на использование других макросов. Синтаксис IF выглядит следующим образом: %IF:"Var1"оператор сравнения"Var2":"Then":"Else". То есть, если что-то больше, меньше, равно и т.д. чему-то, то выполнять то-то, иначе - то-то. С помощью макроса IF можно вставлять приветствия в зависимости от времени создания письма. Например, "Добрый день" или "Доброе утро" и т.д. Откроем любой из шаблонов и вместо первой строки запишем следующий код:
%IF:"%TIME='hh:mm:ss'"= "00:00:00":"night":""%-, %TOFName.
Часть кода, выделенная жирным шрифтом, вставляет имя человека, которому адресуется создаваемое (пересылаемое и т.д.) письмо.
Как видно, применение макросов не вызывает особых трудностей и в то же время приносит неоценимую пользу.
Запуск The Bat! из командной строки
Почтовая программа The Bat! представляет большие возможности по работе с командной строкой.
Например, чтобы почтовик загружался быстрее, можно отключить его красочный логотип, появляющийся на несколько секунд во время запуска. Сделать это можно, запустив The Bat! из командной строки с параметром "nologo". В этом случае команда запишется следующим образом: "C:\Program Files\The Bat!>thebat.exe /nologo". В Windows свой ярлык может иметь не только конкретный файл, но и любая команда, записанная в командной строке. Поэтому заставку The Bat! можно убрать, не обращаясь каждый раз за помощью к командной строке. Для этого откроем свойства ярлыка "Летучей мыши" и в поле "Объект" запишем "''C:\Program Files\The Bat!\thebat.exe'' /nologo". Обращаю внимание, параметр "nologo" указывается через пробел после записи пути к файлу.
Далее я приведу другие команды, которые в некоторых случаях, возможно, окажутся полезными. Команда /check (/send) может быть использована, когда необходимо получить (послать) почту для одного или нескольких ящиков. Синтаксис можно посмотреть в файле справки. Команда /checkall (/sendall) используется для проверки входящей (отправки исходящей) почты с последующим выходом из The Bat!, если не было получено новых писем. Команда /focus позволяет автоматически открывать определенную папку в основном окне программы The Bat!, что бывает полезным при запуске программы. Команда управления папками /op позволяет производить над папками стандартные операции, такие, как сжатие и очистка папки, удаление старых писем, дубликатов и т.д. На самом деле команд в The Bat! намного больше и просто упомянуть их все не представляется возможным. Исчерпывающую информацию по этому вопросу можно найти в справке в разделе "Command line parameters".
Заключение
Таким образом, почтовый менеджер The Bat! как нельзя лучше подходит для юзеров любой категории, которые желают пользоваться надежной и многофункциональной программой для работы с корреспонденцией. Из The Bat! невозможно вырасти. Доступный интерфейс поможет быстро разобраться с программой даже новичку, а всевозможные макросы и параметры для работы из командной строки будут очень полезны профессионалам.
Пакетные файлы (иногда называемые bat, бат, batch, батник, батники) это обычные текстовые файлы, содержащие наборы команд интерпретатора и имеющие расширение *.bat. Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора, которым вы привыкли пользоваться. Они содержат последовательный набор команд, которые выполняются в определенном, заранее заданном, порядке. Для рядового пользователя знание принципов работы BAT файлов совершенно необязательно и редко когда требуется, но при выполнении каких-либо специализированных задач, использование пакетных файлов может очень сильно упростить жизнь и ускорить их выполнение.
Примеры bat файлов
С помощью пакетных файлов можно делать огромное количество различных действий, которые очень сложно/долго, а в некоторых ситуациях, просто невозможно выполнить без использования bat файлов, т.к. необходимо либо приобретать специальный софт под конкретную задачу (пример - массовая конвертация картинок в папке(ах) по ключу в названии, либо самостоятельно писать такую программу на каком-либо языке программирования, что сможет далеко не каждый, да и целесообразность этого, для разового действия минимальна. На нашем сайте есть несколько примеров использования пакетных файлов для решения специализированных задач, которые, возможно, смогут вам помочь.
Безопасно ли запускать bat файлы?
Ответ на этот вопрос зависит от того, насколько вы в состоянии понять содержимое пакетного файла, который хотите запустить. Если вы его автор, самостоятельно написали все команды и понимаете что эти команды делают, то конечно же запуск таких файлов совершенно безвреден для компьютера. НО, если вы получили такой файл по почте, скачали из интернета (особенно с сомнительного сайта) и т.д., то запускать его следует только в том случае, если вы доверяете тому, кто этот файл написал и дал вам, либо понимаете, что делают все команды, которые прописаны в нем. Так с помощью некоторых команд, которые могут быть написаны в .bat файле, можно полностью вывести из строя Windows, удалить важные данные, установить вирус или кейлоггер для кражи данных и много чего еще. Поэтому к этому вопросу надо подходить со всей ответственностью и понимать, чем это может грозить.
Как создать bat файл?
Для начала создадим папку test в корне диска C:\, чтобы в ней проводить наши эксперименты. Далее откройте блокнот (или любимый текстовый редактор) и наберите две следующих строки:
Обратите внимание, что мы используем только английский алфавит при написании, в противном случае, при запуске этого bat файл с указанными настройками, мы получим не читаемые кракозябры, вместо текста. Этого можно избежать, воспользовавшись дополнительными командамиПример заполнения файла
Выберите Файл - Сохранить как
Выберите Тип файла - Все файлы, в поле Имя файла введите start.bat и сохраните его в папке test на диске С.
Все, наш первый bat файл создан и лежит по адресу C:\test\start.bat. Теперь нам осталось этот файл запустить и увидеть результаты его работы.
Как запустить bat файл?
Запустить .bat файл очень просто, это делается точно также, как и запуск .exe файлов. Для этого достаточно выделить нужный .bat файл в проводнике и дважды щелкнуть по нему левой кнопкой мыши.
Альтернативным вариантом запуска (чтобы случайно не запустить что то не то, например, в том случае, если в папке много файлов) может являться запуск bat файла в 2 этапа. Сначала выделяем нужный файл левой кнопкой мыши, далее нажимаем на правую кнопку мыши, чтобы вызвать контекстное меню, и в нем уже выбираем пункт меню Открыть
В нашем примере, мы переходим в папку test на диске C:\ и запускаем файл start.bat, который мы ранее написали.
После его выполнения на экран будет выведено две строки, как на скриншоте ниже:
результат выполнения файла start.bat
После нажатия любой клавиши окно закроется, т.к. bat-файл выполнен.
Обратите внимание, что символ собаки перед каждой командой в bat-файле указывает на то, что саму команду выводить на экран не надо, а нужно вывести только результат ее работы. Чтобы поэкспериментировать удалите символ собаки из начала каждой строки, сохраните и запустите полученный bat файл.
Команды, используемые в bat файлах
Описание и примеры использования некоторых самых популярных команд есть у нас на сайте, ознакомиться с ними можно по этой ссылке: Справочник команд Windows (CMD)Список команд, которые можно использовать в bat-файлах, можно просмотреть, введя в командной строке команду help
В результате будет выведен список доступных команд и краткое описание к этим командам.
Для того, чтобы ознакомиться с описанием интересующей вас команды, необходимо в командой строке написать help команда . Например, чтобы получить подробную справку по команде copy, необходимо ввести:
В результате, на экран будет выведена справка по команде COPY и доступные ключи.
Устанавливаем переменную answer в пустое значение (необходимо, для того чтобы затереть предыдущее значение, например, если батник исполняется несколько раз). set с ключом /p устанавливает значение переменной, которое вводится пользователем. Проверяем значение переменной и если оно не равно y завершаем выполнение батника.
Как получить текущий месяц, день, год и т.п.?
В батниках есть возможность получать подстроку используя синтаксис %variable:
m,n% Где variable это название переменной m – индекс первого символа, а n – количество символов подстроки.
Следовательно, если команда echo %date% (а формат даты может у вас отличатся) выведет 13.06.2009, то для того чтобы получить текущий месяц достаточно выполнить %date:
3,2% Таким образом, если нам необходимо, например, сформировать имя файла или директории, которое соответствует текущему месяцу и дню, мы это сделаем так:
Лично мне такое понадобилось для задания ключа /d для xcopy.
Как вывести пустую строку в лог-файл?
Я не сразу догадался, что это можно делать вот так: :)
Т.е. нужно поставить точку после echo.
Предыдущая команда выполнена успешно?
В большинстве случаев это:
Архивирование файла с переменным именем
Задача состоит в том, чтобы заархивировать файл с именем, которое меняется ежедневно, но в другую папку. Следующим куском кода
мы выбираем все файлы по маске, исполняя команду rar a -ep c:\other_dir\%%
ni.rar %%i для каждого, где %%
ni это только имя файла.
Имя текущего исполняемого батника
Нужно, например, для того чтобы вести один лог для нескольких батников.
«Функция» в батниках
Если мы исполняем в одном батнике несколько повторяющихся команд, но с разными значениями переменных, то это можно реализовать так:
Таким образом, у меня отсылается десяток разных файлов разным получателям, используя The Bat! Такой файл читать и редактировать намного удобнее, чем это было бы десять команд The Bat! подряд.
Получить последний по дате создание файл
Для начала получим список всех файлов, отсортированных по дате модификации:
И пройдемся по нему циклом.
Логично, что по завершению цикла в переменной %lastfile% у нас будет последний по дате модификации файл ;)
Выкачать файл по FTP
Где файл file_to_ftp.txt будет у нас выглядеть следующим образом:
Создаем нумерованные каталоги с инкрементом на единицу
Разобраться в коде предлагаю вам самим. :) Основная возможность, которую я хотел показать данным примером, это использование ключа /a команды set для вычисления выражений. ;)
Читайте также: