Справочник The Bat! Синтаксис bat файла
Как перенаправить результат выполнения команд bat файла, в лог-файл
Обычно выполнении любого bat файла трудно увидеть результаты его работы на экране по разным причинам. Поэтому лучше записать результаты работы всех команд bat файла в текстовый лог-файл, и потом анализировать работу bat файла по логам.
Перенаправить выполнение команд bat файла в лог-файл просто. Как это можно сделать?
Создайте bat-файл следующего содержания:
@echo offecho Start %time%echo Create test.txtecho test>C:\test.txtecho Copy Test.txt to Old_test.txtcopy C:\test.txt C:\Old_test.txtecho Stop %time%
Первая строка отключит вывод самих команд. Таким образом, в лог-файл будут записаны только результаты их выполнения.
Вторая строка запишет в лог-файл время начала работы bat файла.
Третья строка записывает в лог-файл пояснение того, что следующая команда создаст файл test.txt
Четвертой строка (для примера) создает файл test.txt с корне диска С. и впишет в файл C:\test.txt слово test
Пятая строка выводит в лог-файл пояснение, что следующая команда выполняет копирование файла из одного места в другое.
В шестой строке команда скопирует созданный файл C:\test.txt в файл C:\Old_test.txt, т.е. создается копия файла с новым именем.
Седьмая строка содержит команду вывода времени завершения работы bat файла.
Сохраните этот пакетный файл под именем 1.bat
Допустим, что отчет о работе bat файла Вы хотите хранить в отдельной папке и каждый день записывать отчет с новым именем файла. Причем, имя лог-фала лучше иметь в виде даты работы пакетного файла. Чтобы все это реализовать, создадим например, на диске С папку с именем LOG, путь к ней будет выглядеть C:\LOG. Ваш пакетный файл www.bat запускаем такой командой:
www.bat>C:\LOG\%date%.txt
Если в пути есть пробелы, то надо использовать либо кавычки. Если путь к bat-файлу C:\Program Files\1.bat, то в командной строке для запуска bat-файла нужно указать одну из следующих строк:
Как написать Documents and Settings и Program Files в cmd
"C:\Program Files\www.bat">C:\LOG\%date%.txtC:\Progra~1\www.bat>C:\LOG\%date%.txt
После запуска файла www.bat в папке C:\LOG будет создан новый файл с именем, равным дате запуска bat-файла, например, 19.10.2015.txt и это будет отчет о работе пакетного файла www.bat
Запуск bat-файла, пример которого показан первым вверху страницы, указанной выше командой, создаст лог-файл такого содержания:
Start 20:05:50,40Create test.txtCopy Test.txt to Old_test.txtСкопировано файлов: 1.Stop 20:05:51,15
Таким образом, для выполнения перенаправления результата работы bat-файла в лог-файл, нужно использовать символ перенаправления >
Синтаксис такй:
Путь\Имя-Файла.bat>Путь\Имя_лог-файла.txt
Если необходимо дополнять один и тот же лог, а не перезаписывать его, то используйте двойной символ перенаправления: >>
Путь\ИмяФайла.bat>>Путь\ИмяЛогФайла.txt
Расширение лог-файла может быть любым. Например: file.log
palexa.pp.ua
Pers.narod.ru. Программы. BAT-файлы. Командные файлы в DOS/Windows
Этот сайт больше не обновляется. Подключите Javascript, чтобы увидеть новый адрес страницы или перейдите к статье
Материал по теме «Командные файлы»
1. Определение командного файла. Командные (пакетные) файлы - особая категория исполняемых файлов.
Расширение: *.bat (от англ. batch - "пакет", "группа"). Запуск командного файла осуществляется так же, как запуск исполняемой программы, то есть, указывается имя файла и, если требуется, параметры.
Назначение: BAT-файлы служат для организации взаимодействия пользователей с прикладными программами.
Состав: текст, который интерпретируется командным процессором. Строки этого текста могут представлять собой:
- внешние или внутренние команды ОС;
- обращения к исполняемым программам *.COM или *.EXE, и вызовы других командных файлов;
- команды для управления выдачей на экран, а также для организации ветвлений и циклов;
- метки, на которые совершается переход при выполнении заданного в файле условия.
Каждая команда находится на отдельной строке.
2. Команды пакетной обработки.
а) REM комментарий в тексте файла. Обычно используют, чтобы временно убрать из текста какую-либо команду. Формат: REM [любая строка]
б) ECHO вывод на экран сообщений. Формат: ECHO [ON или OFF или Сообщение]
Параметры ON и OFF включают и выключают выдачу на экран системных сообщений ("эха"). Команда ECHO OFF используется, чтобы не "засорять" экран при исполнении BAT-файла. Произвольная строка после ECHO понимается как сообщение и без изменений выводится на экран. Пустая строка обозначается одной точкой. Примеры:
echo. Перейти к следующей строке;
echo Программа не найдена! Выдает на экран сообщение "Программа не найдена!".
в) @. Может быть только первым символом строки и подавляет ее выдачу на экран. Используется только в пакетном режиме. Пример:
@echo off Выключаем "эхо"; из-за символа @ сама команда echo off тоже не выводится на экран; этой строкой обычно начинаются командные файлы.
г) PAUSE приостанавливает вывод на экран, выводит сообщение "Нажмите любую клавишу..." и ждет нажатия любой клавиши. Параметров не имеет.
д) IF позволяет проверять условие и выполнять ветвление в зависимости от результата проверки.
Общий вид команды: IF [NOT] [условие] [действие], где "действие" - любая команда, выполняемая, если истинно условие. Условие записывается в одной из трех форм, поэтому команда IF имеет три формата.
Формат 1. Проверка кода завершения последней перед оператором IF команды. Используется конструкция следующего вида: IF ERRORLEVEL число
Любая программа может выработать в момент своего окончания собственный код завершения, который доступен другим программам через переменную с именем ERRORLEVEL. Большинство команд и программ при нормальном завершении устанавливают errorlevel=0. Задав условие if errorlevel 1, Вы определите, что оно будет выполнено, если программа вырабатывает код завершения больший, либо равный 1.
Формат 2. Проверка наличия файла в каталоге. Оператор IF имеет вид: IF EXIST имя файла
Команда проверяет, существует ли файл с заданным именем. При обнаружении файла условие считается выполненным. Можно использовать маску - тогда условие выполнено, если найден хотя бы один подходящий файл.
Формат 3. Сравнение двух строк. Оператор имеет вид: IF [строка_1]==[строка_2]
Условие выполняется, если строки 1 и 2 совпадают. Чтобы застраховаться от случая, когда одна из строк оказывается пустой, обе строки заключают в одинаковые символы, например, в квадратные скобки.
Любое из этих трех условий может задаваться со знаком логического отрицания NOT. При этом истинность условия трактуется в обратном смысле. Примеры:
if exist c:\autoexec.bat type c:\autoexec.bat
если в головном каталоге диска c: есть файл autoexec.bat, вывести его на экран;
if not exist c:\WORK\*.* echo Нет файлов!
если в каталоге WORK нет ни одного файла, вывести соответствующее сообщение;
format a:
if errorlevel 1 echo Форматирование прошло не безупречно!
если программа format установила errorlevel больше нуля,сообщить об ошибке;
if %A%==Yes cls
если переменная с именем A равна строке 'Yes', очистить экран.
Аналогично команда IF может использоваться из командной строки.
е) GOTO позволяет передавать управление на заданную метку Формат команды: GOTO метка
Метка начинается со знака : Пример:
if %A%==Yes goto Clear
goto Not_Clear
:Clear
cls
:Not_Clear
Если переменная A совпадает со строкой Yes, перейти на метку Clear и очистить экран. В противном случае пропустить очистку экрана.
ж) CALL осуществляет вызов одного командного файла из другого с последующим возвратом в вызывающий файл. Формат команды: CALL [имя файла]
В имени вызываемого файла могут содержаться дополнительные параметры, которые обрабатываются вызванным файлом. Пример:
Вызывающий командный файл: (example.bat)
@echo off
echo Файл запущен!
call version
echo Продолжаем!
Вызываемый командный файл: (version.bat)
@echo off
echo Ваша версия операционной системы:
ver
pause
example.bat вызывает version.bat, после выполнения которого вновь получает управление.
з) Переменные в командных файлах используются для обмена информацией между отдельными командами. Существуют два их вида:
1) переменная, определяемая в цикле. Ее имя состоит символа процента (в старых версиях DOS/Windows - двух символов) и последующих букв, например, %A. Набор значений, которые последовательно принимает такая переменная, задается при ее определении в команде for (см. ниже).
2) переменная окружения. Она определяется внутренней командой DOS вида
SET [имя]=[значение],
где имя и значение - произвольные строки, и в течение всего сеанса работы хранится в специальной области памяти, называемой "системным окружением". Системное окружение управляется командным интерпретатором command.com. Чтобы использовать переменную окружения в командном файле нужно ее имя заключить в символы процента %, например, командами
set weekday=sunday
echo %weekday%
переменной с именем weekday присваивают значение sunday и выводят ее значение на экран командой ECHO. Для удаления переменной из окружения используют строку вида set имя=
Для просмотра окружения можно использовать команду SET без параметров.
В DOS и Windows, как правило, используются следующие стандартные переменные окружения:
- winbootdir Главный каталог ОС Windows (в версиях NT/2000 может называться SystemRoot)
- COMSPEC Полное имя текущего командного процессора
- PROMPT Вид строки приглашения диалогового режима
- TEMP Каталог для временных файлов (иcпользуется также TMP)
- PATH Список путей, по которым ищутся исполняемые программы, если путь не указан при запуске программы. По умолчанию программа ищется сначала в текущей папке, затем в папках, перечисленных в PATH. Пути разделяются символом ;
и) FOR обеспечивает циклическое выполнение команд. Формат: FOR переменная IN (набор) DO действие
Понятие переменной определено выше. Набор - это одна или несколько строк, разделенных пробелами или запятыми. Чаще всего в качестве элементов набора выступают имена файлов или маски. Действие - любая допустимая команда. Цикл работает следующим образом: переменная последовательно принимает значения элементов набора и они подставляются в текст команды. Примеры:
For %a in (*.txt) do copy %a con
for %r in (*.*) do if exist a:\%r echo %r есть на диске a:
Команда перебирает файлы текущей директории и выясняет, есть ли на диске a: файл с таким же именем. Если такой файл существует, печатается сообщение. Вместо переменной %%r в команде ECHO каждый раз подставляется очередное имя файла.
for %z in (0,1,2,3,4,5,6,7,8,9) do if %z==%test% echo z=test=%z
Если переменная %z, принимающая значения цифр от 0 до 9, совпадает с переменной окружения test, печатается сообщение.
FOR может использоваться и в командной строке, например, для многократного выполнения команды, в которой нельзя использовать маску. Пример:
FOR %A IN (*.txt) DO TYPE %A
Все найденные в текущей директории файлы с расширением TXT последовательно выводятся на экран.
к) Параметры командного файла. При запуске из командной строки командному файлу могут быть переданы параметры. Они разделяются пробелами и количество их не может превышать девяти. Изнутри пакетного файла параметры доступны через строки вида %0, %1, ..., %9, где %0 - имя самого командного файла, %1 - имя первого параметра и так далее. Например, мы запускаем командный файл MOVA.BAT командой mova.bat *.tmp *.txt *.doc
После запуска параметр %0 равен строке "mova.bat", параметр %1 - строке "*.tmp" и т. д. Наш командный файл должен перемещать файлы, подходящие под переданные ему маски, на диск a:. Для первого параметра это легко сделать двумя командами: copy %1 a:\%1 и del %1. Первая копирует файлы на диск a:, вторая уничтожает источник копирования. Для второго параметра мы могли бы повторить те же команды, подставив в них %2 вместо %1. Но программа сразу же становится нерациональной, тем более, что число параметров заранее неизвестно. Помочь нам может команда SHIFT, которая сдвигает параметры командного файла на один влево. После применения SHIFT параметру %0 присваивается старое значение %1, в нашем случае это строка "*.tmp", а параметр %1 принимает значение "*.txt". Теперь этими же двумя командами мы можем обработать любое число параметров. Позаботившись об условии выхода из программы, получаем ее окончательный текст:
@echo off
:LOOP
copy %1 a:\%1
del %1
shift
if not [%1]==[] goto LOOP
Благодаря команде SHIFT мы каждый раз обращаемся лишь к первому из переданных параметров и правильность работы не зависит от числа переданных параметров. Если очередная строка с маской не пуста, оператор goto LOOP передает управление к началу программы.
л) Дополнительные средства для написания командных файлов.
Рассмотренные выше команды пакетной обработки позволяют организовать автоматический запуск программ и обработку файлов. Не хватает лишь возможностей пользователя влиять на этот процесс, в частности, возможности выполнять действия в зависимости от выбора с клавиатуры.
В состав большинства версий DOS/Windows включена внешняя команда choice, служащая для выбора действия. Формат команды:
CHOICE [/C:клавиши] [/N] [/T:выбор,время] [сообщение]
Здесь сообщение - любая строка текста, клавиши - список буквенных обозначений клавиш, допустимых для выбора. По умолчанию прописные и строчные буквы не различаются, а если список клавиш не указан, принимается /C:YN. Параметр /N запрещает вывод после сообщения списка клавиш и знака вопроса, а после параметра /T могут быть указаны выбор, принимаемый при отсутствии ввода с клавиатуры и время в секундах, через которое он будет сделан.
Результат работы команды - установка значения ERRORLEVEL равным порядковому номеру в списке выбранной клавиши. Например, после ввода команды
choice /c:01 /n /t:0,5 Продолжить?(1-да,0-нет)
значение ERRORLEVEL будет установлено в 1 при нажатии клавиши 0 или отсутствии ввода с клавиатуры в течении 5 секунд, а при нажатии клавиши 1 программа установит значение ERRORLEVEL, равное 2.
Скачать CHOICE.COM в архиве ZIP (2 Кб)
pers.narod.ru
Справочник The Bat!
/CHECK и /CHECKALL /SEND и /SENDALL /IMPORT /EXPORT /FOCUS /MAIL mailto: /ADD /OP /DEDUPIGNOREMSGID и /DEDUPIGNORETOMSGID /BATCH /LDIFIMPORT и /LDIFEXPORT /REFILTER /MINIMIZE, /MIN, /EXIT, /SMARTEXIT, /NOLOGO и другиеСтрока текста, которую получает система при запуске любой программы, называется командной. Она содержит путь к приложению и перечень его параметров. Чтобы запустить приложение в операционной системе Windows, необходимо либо открыть диалоговое окно "Пуск -> Выполнить", либо нажать левой кнопкой мышки по ярлыку программы. Если вы предпочитаете второй способ, командную строку программы можно отредактировать в свойствах ярлыка программы. Нажмите правой кнопкой мышки по ярлыку, выберите «Свойства» и на вкладке «Ярлык» измените командную строку в поле «Объект».
Командная строка для запуска The Bat! выглядит так:
"C:\Program Files\The Bat!\thebat32.exe" или "C:\Program Files\The Bat!\thebat64.exe"
Чтобы в момент запуска программа выполняла определенные действия, в эту строку следует добавить соответствующие параметры. Например, чтобы отключить заставку при запуске программы можно использовать параметр /NOLOGO:
"C:\Program Files\The Bat!\thebat32.exe" /NOLOGO
Таким образом, The Bat! можно запускать из командных файлов или других программ, а это значит, что вы сможете отправлять и получать почту автоматически.
Примечания: Чтобы отделить одну маску от другой, используйте между ними точку с запятой (символ ";"). Не используйте в качестве разделителя пробел, так как программа примет следующую маску за начало новой команды.
Если маска содержит пробелы, ее следует заключить в двойные кавычки. Если она уже содержит двойные кавычки, используйте одинарные (символ " ' ").
Проверка почты - команды /CHECK и /CHECKALL
Команда /CHECK предназначена для проверки почты в одном или нескольких почтовых ящиков.
Команда /CHECKALL позволяет проверить все почтовые ящики и завершить работу программы, если новых писем нет. Это упрощенная форма комбинации /CHECK* /SMARTEXIT. Синтаксис команды
/CHECK<маска для ящика №1>[;маска для ящика №2[;маска для ящика №3[...]]]
Маска используется для того, чтобы могли проверить несколько ящиков одновременно. Она может принимать следующие значения:
- название почтового ящика. Пример: /CHECK"Почтовый ящик №1";"Почтовый ящик №2". В результате выполнения этой команды The Bat! проверит только "Почтовый ящик №1" и "Почтовый ящик №2". Кавычки следует указывать только в том случае, если имя ящика содержит пробел
- первые несколько символов из названия почтового ящика и символ * (звёздочка). К примеру, чтобы проверить все почтовые ящики, имена которых начинаются со слова "Мой", используйте команду /CHECKМой*
- звёздочка + завершающие несколько символов из названия почтового ящика. К примеру, чтобы проверить все почтовые ящики, имена которых заканчиваются символом "1", используйте команду /CHECK*1
- фрагмент названия почтового ящика, обрамлённый символами * (звёздочками). Чтобы проверить все почтовые ящики, в названии которых содержится слово "ящик", используйте команду /CHECK*ящик*
- символ * (звёздочка). Используется для того, чтобы проверить все почтовые ящики
Команда /SEND предназначена для отправки почты из одного или из нескольких почтовых ящиков.
Команда /SENDALL позволяет отправить почту из всех почтовых ящиков и завершить работу, если папка Outbox не содержит писем, подготовленных к отправке. Это упрощенная форма комбинации /SEND* /SMARTEXIT
Синтаксис команды
/SEND<маска для ящика №1>[;маска для ящика №2[;маска для ящика №3[...]]]
Маска может принимать такие значения:
- название почтового ящика. Пример: /SEND"Почтовый ящик №1";"Почтовый ящик №2". В результате выполнения этой команды The Bat! отправит письма из ящиков с именами "Почтовый ящик №1" и "Почтовый ящик №2". Кавычки следует указывать в том случае, если имя ящика содержит пробел
- первые несколько символов из названия почтового ящика + * (звёздочка). Например, чтобы отправить письма из всех почтовых ящиков, имена которых начинаются со слова "Мой", используйте команду /SENDМой*
- звёздочка + завершающие несколько символов из названия почтового ящика. К примеру, чтобы отправить письма из всех почтовых ящиков, имена которых заканчиваются символом "1", используйте команду /SEND*1
- фрагмент названия почтового ящика, обрамленный символами * (звёздочками). Чтобы отправить письма из всех почтовых ящиков, в названии которых содержится слово «ящик», используйте команду /SEND*ящик*
- символ * (звёздочка). Используется для того, чтобы отправить письма из всех почтовых ящиков
Команда /IMPORT позволяет импортировать в указанную папку любое количество писем из файлов в формате MSG (RFC-822) или UNIX-ящик.
Синтаксис команды
/IMPORT[параметр №1[;параметр №2[;параметр №3[...]]]
Список параметров
Параметр | Описание |
USER=значение или U=значение | название почтового ящика. Если не указан параметр FOLDER , письма будут импортированы в его папку Inbox |
PASSWORD=значение или P=значение | пароль для доступа к почтовому ящику (если это необходимо) |
FOLDER=значение или F=значение | путь к целевой папке. Если он не содержит название почтового ящика, The Bat! попытается найти папку с таким именем в любом из них. Если папка не будет найдена, письма будут импортированы в папку Inbox целевого ящика (см. параметр USER) |
UNIX или X | указывает на то, что исходный файл был сохранен в формате UNIX-ящик |
READ или R | все импортированные письма будут помечены как прочитанные (по умолчанию этого не происходит) |
FILE=значение или IN=значение или INFILE=значение или I=значение | файловая маска для указания имени исходного файла. Команда /IMPORT поддерживает неограниченное количество таких параметров |
DELETE или DEL или W | позволяет удалить все файлы после их успешного импортирования |
/IMPORTU="Мой ящик №1";FOLDER="Друзья\Андрей";IN=C:\Входящие\Андрей\*.MSG /IMPORTF="\\Мой ящик №1\Хлам";UNIX;FILE=C:\Входящие\Архив\*.mbox;READ
Экспорт писем или адресов - команда /EXPORT
Команда /EXPORT позволяет экспортировать из указанной папки любое количество писем в формат MSG (RFC-822) или UNIX-ящик. Если указан параметр LDIF, можно также экспортировать содержимое адресной книги.
Синтаксис команды
/EXPORT[параметр №1[;параметр №2[;параметр №3[...]]]
Список параметров
Параметр | Описание |
USER=значение или U=значение | название почтового ящика. Если не указан параметр FOLDER, письма будут экспортированы из папки Inbox |
PASSWORD=значение или P=значение | пароль для доступа к почтовому ящику (если необходимо) |
FOLDER=значение или F=значение | путь к исходной папке. Если он не содержит название почтового ящика, программа попытается найти папку с таким именем в любом из них. Если папка найдена не будет, письма будут экспортированы из папки Inbox исходного ящика (см. параметр USER) |
DIR=значение или D=значение или OUT=значение или O=значение | путь к целевому каталогу (если экспорт производится в UNIX-ящик, необходимо также указать имя файла). Если для экспорта выбран формат MSG (RFC-822), The Bat! экспортирует письма в целевой каталог, используя в качестве имени файла его порядковый номер (xxxxxxxx.MSG, где каждый символ «x» соответствует цифре от 0 до 9). Начальное значение этого номера будет исправлено в соответствии с уже существующими файлами в указанном каталоге |
UNIX или X | указывает The Bat! на то, что файл необходимо сохранить в формате UNIX-ящик (по умолчанию программа использует формат MSG) |
READ или R | позволяет экспортировать только прочитанные письма (по умолчанию экспортируются оба типа) |
UNREAD или N | позволяет экспортировать только непрочитанные письма |
REPLIED или RE | позволяет экспортировать только те письма, на которые был дан ответ |
UNREPLIED или NR | позволяет экспортировать только те письма, на которые не был дан ответ |
PARKED или PR | позволяет экспортировать только паркованные письма |
UNPARKED или UP | позволяет экспортировать только непаркованные письма |
MAXAGE=значение или AGE=значение или A=значение | позволяет экспортировать только те письма, возраст которых не превышает указанное количество дней |
START=значение или S=значение | позволяет указать первое письмо в исходной папке, с которого необходимо начать экспорт. Если задано отрицательное значение, программа вычтет его из общего количества писем. К примеру, если указано значение -5, экспорт начнется с пятого письма от конца почтовой базы |
END=значение или E=значение | позволяет указать последнее письмо в исходной папке, после которого экспорт следует прекратить. Если задано отрицательное значение, программа вычтет его из общего количества писем. К примеру, если указано значение -2, экспорт будет прекращен после сохранения второго письма от конца почтовой базы |
OVERRIDE или V | (используется только в паре с параметрами UNIX или LDIF) Указывает на то, что если файл уже существует, его необходимо перезаписать (по умолчанию The Bat! добавит все данные к уже существующему файлу) |
DELETE или DEL или W | позволяет удалить все письма после их успешного экспортирования |
LDIF | указывает на то, что вместо письма необходимо экспортировать адрес в формате LDIF |
ADDRESSBOOK=значение или AB=значение или BOOK=значение | (используется только в паре с параметром LDIF) Название, имя файла или полный путь к адресной книге, из которой необходимо экспортировать данные. Если этот параметр не указан, The Bat! использует адресную книгу, которая была назначена по умолчанию |
GROUP=значение или G=значение | (используется только в паре с параметром LDIF) Псевдоним адресной группы, из которой необходимо экспортировать данные. Если не указан параметр ADDRESSBOOK, The Bat! осуществит поиск указанной группы во всех адресных книгах |
/EXPORTU="Ящик №1";F="Друзья\Андрей";DIR=C:\Входящие\Андрей\;S=-20 /EXPORTF="\\Ящик №1\\Хлам";UNIX;O=C:\Хлам\Mail.mbx;UNREAD /EXPORTLDIF;AB="Книга №1";Group="Моя группа";O="C:\MyGroupFile.LDIF" /EXPORTLDIF;Group="Друзья";O="C:\Friends.LDIF"
Установка фокуса на папке - команда /FOCUS
Команда /FOCUS позволяет автоматически передать фокус указанной папке в главном окне The Bat!
Синтаксис команды
/FOCUS[параметр №1[;параметр №2[;параметр №3[...]]]
Допустимые параметры - (параметр может быть задан двумя и более именами):
Параметр | Описание |
USER=значение или U=значение | название почтового ящика. Если не указан параметр FOLDER, в качестве папки будет использована папка Inbox этого ящика |
PASSWORD=значение или P=значение | пароль для доступа к почтовому ящику (если необходимо) |
FOLDER=значение или F=значение | Путь к папке. Если он не содержит название почтового ящика, The Bat! попытается найти папку с таким именем в любом из них. Если папка найдена не будет, фокус будет установлен на папке Inbox исходного ящика (см. параметр USER) |
/FOCUSU="Мой почтовый ящик 1";F="Друзья\Андрей" /FocusF="\\Мой почтовый ящик\Свежая почта";P=пароль
Автоматическое создание письма - команда /MAIL
Команда /MAIL используется для автоматического создания письма указанному адресату с использованием шаблона, текстового файла и/или набора прикрепленных файлов.
Синтаксис команды
/MAIL[параметр №1[;параметр №2[;параметр №3[...]]]
Параметр | Описание |
USER=значение или U=значение | Название почтового ящика. Если не указан параметр FOLDER, программа переместит новое письмо в папку Outbox этого ящика |
PASSWORD=значение или P=значение | Пароль для доступа к почтовому ящику (если необходимо) |
FOLDER=значение или F=значение | Путь к целевой папке. Если он не содержит название почтового ящика, The Bat! попытается найти папку с таким именем в любом из них. Если папка не будет найдена, программа переместит новое письмо в папку Исходящие исходного ящика (см. параметр USER) |
TEMPLATE=значение или T=значение | Полный путь к файлу, который содержит шаблон для нового письма. По умолчанию используется стандартный шаблон "Новое письмо", указанный в свойствах почтового ящика или целевой папки |
TO=значение | Почтовый адрес первого получателя. Чтобы добавить дополнительные адреса, укажите в шаблоне макросы %TO, %CC или %BCC |
SUBJECT=значение или S=значение | Тема письма. Ее можно переопределить в шаблоне с помощью макроса %SUBJECT |
TEXT=значение или CONTENTS=значение или C=значение | Полный путь к текстовому файлу, содержимое которого необходимо вставить в новое письмо (аналогичного результата можно добиться, используя в шаблоне макрос %PUT) |
ATTACH=значение или FILE=значение или A=значение | Полный путь к файлу, который необходимо прикрепить к новому письму (аналогичного результата можно добиться, используя в шаблоне макрос %ATTACHFILE ) |
SEND | Позволяет отправить новое письмо сразу же после его создания |
QUEUE | Позволяет отложить отправку письма и поместить его в папку Исходящие |
EDIT | Позволяет The Bat! открыть создаваемое письмо в редакторе, поля, используемые в команде /MAIL, будут при этом заполнены |
/MAILU=МойПочтовыйЯщик;[email protected];S=Проверка;TEXT=C:\TEST\TEST.MSG /MAILF=\\МойПочтовыйЯщик\Проверка;[email protected]
Интерактивное создание письма - команда mailto:
Команда mailto: используется для того, чтобы открыть окно редактора The Bat! и заполнить его поля заранее указанными данными.
В сети Internet команда mailto: является стандартом - ее синтаксис подробно описан в RFC 2368. В основном, она используется веб-браузерами при обработке специальных ссылок на почтовые адреса. Щелкнув мышкой по такой ссылке, вы автоматически запускаете почтовую программу, и она генерирует письмо на основе параметров этой команды.
Создание почтового ящика – команда /ADD
Команда /ADD позволяет создавать ящики без участия пользователя. Все параметры напрямую соответствуют свойствам ящика.
Синтаксис команды
/ADD:[параметр1 [;параметр2 [;параметр3 [...]]]
Параметр | Описание |
User=значение | Название ящика |
InServer=значение | Адрес сервера для получения почты (POP3 или IMAP4) |
OutServer=значение | Адрес сервера для отправки почты (SMTP) |
InUser=значение | Имя пользователя для авторизации на сервере получения почты |
InPassword=значение | Пароль пользователя для авторизации на сервере получения почты |
OutUser=значение | Имя пользователя для авторизации на сервере отправки почты, если оно отличается от имени пользователя на сервере получения почты |
OutPassword=значение | Пароль пользователя для авторизации на сервере отправки почты, если он отличается от пароля на сервере получения почты |
TLS или IMAPTLS или POPTLS | Этот параметр устанавливает соединение "Безопасное на спец. Порт (TLS)" для получения почты (по умолчанию используется обычное соединение) |
SendTLS или SMTPTLS | Соединение "Безопасное на спец. Порт (TLS)" для отправки почты (по умолчанию используется обычное соединение) |
StartTLS или IMAPStartTLS или POPStartTLS | Соединение "Безопасное на станд. Порт (STARTTLS)" для получения почты (по умолчанию используется обычное соединение) |
SendStartTLS или SMTPStartTLS | Этот параметр устанавливает соединение "Безопасное на станд. Порт (STARTTLS)" для отправки почты (по умолчанию используется обычное соединение) |
REGULAR | Этот параметр устанавливает обычное соединение для получения почты (POP3/ IMAP) |
SMTPREGULAR | Этот параметр устанавливает обычное соединение для отправки почты (SMTP) |
NOSMTPAUTH | Этот параметр отключает опцию "Аутентификация SMTP (RFC-2554) " (по умолчанию опция включена) |
SMTPAUTH | Включение опции "Аутентификация SMTP (RFC-2554) " (по умолчанию опция включена) |
Combined | Использование этого параметра означает включение опции "Совмещенная доставка (получение+отправка)" |
Deferred | Использование этого параметра означает включение опции "Тип доставки: Отложенная" |
IMAP | Использование этого параметра означает использования протокола IMAP4, в то время как по умолчанию будет использоваться протокол POP3 |
FileDir[="каталог для прикрепленных файлов"] | Использование этого параметра означает включение опции "Хранить прикрепленные файлы в каталоге". Если каталог не указан, то будет использоваться каталог по умолчанию |
Template="значение" | Имя файла с шаблоном для нового письма |
ReplyTemplate="значение" | Имя файла с шаблоном ответа |
ForwardTemplate="значение" | Имя файла с шаблоном пересылки |
KeepDays=значение | Срок хранения писем на сервере в днях |
DelReceived | Использование этого параметра означает включение опции удаления писем с сервера после приёма, по умолчанию будет использоваться опция "Оставлять письма на сервере" |
DelTrashServer | Использование этого параметра означает включение опции "Удалять письма с сервера при их удалении из корзины" |
SizeLimit=значение | Максимальный размер письма в килобайтах |
FromAddr=значение | Адрес e-mail, используемый в поле От |
FromName=значение | Имя, используемое в поле От |
ReplyAddr=значение | Адрес e-mail, используемый в поле Обратный адрес |
ReplyName=значение | Имя, используемое в поле Обратный адрес |
PortPOP=значение | Номер порта для ящика по протоколу POP (если отличается от стандартного) |
PortSMTP=значение | Номер порта для ящика по протоколу SMTP(если отличается от стандартного) |
PortIMAP=значение | Номер порта для ящика по протоколу IMAP(если отличается от стандартного) |
Password=значение | Пароль пользователя на ящик |
Управление папками - команда /OP
Команда /OP позволяет автоматически сжать папку, удалить старые письма и дубликаты писем.
Синтаксис команды
/OP:<параметр №1>:<параметр №2>:<аргумент №1>
Список параметров
Параметр | Описание |
COMPRESS | сжать папку |
PURGE | удалить старые письма |
KILLDUPES | удалить дубликаты писем |
CLEARCACHE | очистить кэш |
EMPTY | очистить папку |
Аргумент | Описание |
ACCOUNT NAME | имя ящика |
FULL PATH TO FOLDER | полный путь к папке |
/OP:COMPRESS:Андрей /OP:KILLDUPES:PURGE:COMPRESS:"\\Мой почтовый ящик\Входящие"
Примечания: В <параметры> может содержаться несколько значений. В <аргументы> может содержаться только одно значение.
Удаление дубликатов – команды /DEDUPIGNOREMSGID, /DEDUPIGNORETOMSGID, /DEDUPIGNORETO и /DEDUPIGNOREDATE
/DEDUPIGNOREMSGID, /DEDUPIGNORETOMSGID, /DEDUPIGNORETO и /DEDUPIGNOREDATE - это независимые параметры, которые влияют на удаление дубликатов как из интерфейса программы, так и при помощи команды "/OP:KILLDUPES".
По умолчанию, при удалении дубликатов писем учитываются следующие атрибуты: идентификатор письма (Message-ID), адрес отправителя (From), адрес получателя (To) и дата (Date). Письмо считается дубликатом другого письма, если у них совпадают все четыре атрибута, при этом другие атрибуты не проверяются. Если у двух писем разное содержимое тела, но одинаковые Message-ID, From, To и Date, то по команде "удалить дубликаты" одно из этих писем будет удалено.
Если при этом у письма отсутствует Message-ID, то вместо него используются тема (Subject).
Если The Bat! запущен с параметром /DEDUPIGNOREMSGID, то Message-ID не проверяется, используются только атрибуты From, To, Date, Subject.
При использовании параметра /DEDUPIGNORETOMSGID игнорируется не только идентификатор (Message-ID), но и адрес получателя (To), т.е. учитываются только адрес отправителя (From), дата (Date) и тема (Subject). Если у письма отсутствует заголовок Date (нет даты), то вместо неё используется дата колонки «Получено» (Received).
Параметр /DEDUPIGNORETO игнорирует получателя (To), сравнивая только идентификатор (Message-ID), адрес отправителя (From) и дату создания письма (Date).
При использовании параметра /DEDUPIGNOREDATE игнорируется дата (Date), а сравнение выполняется по идентификатору (Message-ID), отправителю (From) и получателю (To).
Вызов нескольких команд из файла - команда /BATCH
/BATCH позволяет выполнить сразу несколько команд, перечисленных в текстовом файле (по одной команде в каждой строке).
Синтаксис команды
/BATCH:<полный путь к файлу>
К примеру, если вы хотите отправить новые письма и проверить почтовый ящик, необходимо создать файл C:\The Bat!\CheckMail.BAT, который содержит эти строчки:
/CHECKМойПочтовыйЯщик /SENDМойПочтовыйЯщик /SMARTEXIT
Чтобы выполнить его из командной строки, запустите The Bat! с параметром /BATCH:C:\The Bat!\CheckMail.BAT
Экспорт и импорт адресной книги или группы в LDIF-файл – команды /LDIFIMPORT и /LDIFEXPORT
Синтаксис команды
/ldifexport:[параметр №1[:параметр №2[:параметр №3[...]]] /ldifimport:[параметр №1[:параметр №2[:параметр №3[...]]]
Параметр | Описание |
AB, B, BOOK, ADDRBOOK, ADDRESSBOOK = имя адресной книги | Имя адресной книги для экспорта или импорта |
G, AG, GROUP = имя группы | Имя адресной группы для экспорта или импорта |
FILE = имя файла | Имя файла для экспорта или импорта |
OUT = имя файла | Имя файла для экспорта (вместо параметра FILE) |
IN = имя файла | Имя файла для импорта (вместо параметра FILE) |
thebat.exe /lidfexport:ab="Main book":file="c:\exported\main.ldif" thebat.exe /lidfimport:ab="Imported":in="c:\exported\main.ldif"
Вы можете использовать дополнительную команду /LDIFNOUTF для выключения кодирования в UTF-8.
Сортировка писем – команда /REFILTER
Команда /REFILTER используется для пересортировки писем в папке.
Синтаксис команды
/REFILTER[параметр №1[;параметр №2[;параметр №3[...]]]
Параметр | Описание |
FOLDER=значение или F=значение | Путь к папке, письма в которой будут пересортированы |
INCOMING или IN | При пересортировке писем будет использован набор правил для Входящих писем |
OUTGOING или OUT | При пересортировке писем будет использован набор правил для Отправленных писем |
READ или RD | При пересортировке писем будет использован набор правил для Прочитанных писем |
REPLIED или RP | При пересортировке писем будет использован набор правил для Отвеченных писем |
MANUALONLY или MANUAL | При пересортировке писем будет использован набор правил только для ручной пересортировки |
/REFILTER;F="\\Account\My Folder";IN;REPLIED
Прочие команды - /MINIMIZE, /MIN, /EXIT, /SMARTEXIT, /NOLOGO и другие
/EXIT Команда /EXIT используется для выхода из The Bat! после завершения процесса отправки и получения почты.
/SMARTEXIT Команда /SMARTEXIT используется для выхода из The Bat! после того, как все задачи по отправке писем закончены, и в том случае, если не было получено новых писем.
/MINIMIZE Команда /MINIMIZE сворачивает окно The Bat! на панель задач операционной системы или в системную панель, если активна соответствующая опция в меню «Свойства -> Настройка -> Основное».
/MIN Команда /MIN сворачивает запущенную программу на панель задач операционной системы или в системную панель, если активна соответствующая опция в меню «Свойства -> Настройка -> Основное».
/NOLOGO Команда /NOLOGO отключает заставку, которая появляется при запуске The Bat! При использовании этой команды в момент запуска экран с заставкой не будет отображаться.
/OPEN С помощью команды /OPEN вы можете вызвать просмотр письма или визитной карточки vCard из файла (VCF/MSG/EML) в отдельном окне.
Синтаксис команды /OPEN:имя файла
Пример: thebat.exe /OPEN:"c:\My Data\message.eml"
/MSGID С помощью команды /MSGID вы можете вызвать просмотр нужного письма в отдельном окне. Для вызова достаточно знать его Message-ID (ID письма).
Синтаксис команды /MSGID:ID письма
Пример: thebat.exe /msgid:[email protected]
Если письмо не будет найдено в текущей папке, то будет вызвано диалоговое окно с выбором папок для поиска. Если вы знаете, в какой именно папке находится письмо, то вы можете либо воспользоваться командой /FOCUS для указания папки, либо указать Message-ID с параметром folder.
Пример: thebat.exe /FocusF="\\\Общая папка\Переписка с ABC" /msgid:[email protected] или thebat.exe /msgid:[email protected]?folder="\\\Общая папка\Переписка с ABC"
Примечание: Путь к общей папке следует писать в формате: \\\ИмяОбщейПапки\путь\к\папке Путь к папке ящика следует писать в формате: \\ИмяЯщика\путь\к\папке
/CARDFILE Команда /CARDFILE позволяет отправить форму запроса.
Синтаксис команды /CARDFILE"имя файла"
/TERMINATE Команда /TERMINATE завершает работу программы The Bat!, даже если в очереди есть активные сессии.
/REG Используйте параметр /reg:<name> для запуска The Bat! с использованием другого ключа реестра (название ключа состоит из The Bat!+<name>). Например, если вы запустите The Bat! с параметром /reg:new, в реестре создастся новый ключ The Bat!new, при этом программа предложит настроить ее заново.
/DontWriteEmailEnvironmentVariable Если запустить The Bat! с параметром командной строки /DontWriteEmailEnvironmentVariable, программа не установит значение переменной среды %EMAIL% (чтобы не устанавливать значение переменной %EMAIL%, можно также установить значение 1 для параметра DWORD DontWriteEmailEnvironmentVariable в разделе реестра HKEY_CURRENT_USER\Software\RIT\The Bat!).
www.ritlabs.com
Основные команды для файлов с BAT расширением - Информация по ПК - Каталог статей
ASSOC - Отображает или модифицирует связи расширений файловAT - Планирует команды и программы для выполнения на компьютере.ATTRIB - Отображает или изменяет атрибуты файла.BREAK - Устанавливает или отменяет проверку комбинации [Ctrl+C].CACLS - Отображает или модифицирует списки управления доступом (ACLs) для файлов.CALL - Вызывает один *.BAT-файл из другого.CD - Отображает имя или изменяет имя текущей директории.CHCP - Отображает или устанавливает номер активной кодовой страницы.CHDIR - Отображает имя или изменяет имя текущей директории.CHKDSK - Проверяет диск и отображает отчет о состоянии.CLS - Очищает экран.CMD - Стартует новый экземпляр интерпретатора команд Windows NT.COLOR - Устанавливает цвета по умолчанию для переднего и заднего плана консоли.COMMAND - Стартует новую копию интерпретатора команд Windows.COMP - Сравнивает содержимое двух файлов или установки файлов.COMPACT - Отображает или видоизменяет сжатие файлов на патрициях Windows NT(NTFS).CONVERT - Конвертирует FAT томов к формату файловой системы Windows NT(NTFS). Вы не можете конвертировать текущий диск.COPY - Копирует один или больше файлов на другое место.CTTY - Изменяет терминальное устройство, используемое для управления вашей системой.DATE - Отображает или устанавливает дату.DEL - Удаляет один или более файлов.DEBUG - Выполняет отладку, тестирование программ и редактирование инструментальных средств.DIR - Отображает список файлов и поддиректорий в директории.DISKCOMP - Сравнивает содержимое двух дискет.DISKCOPY - Копирует содержимое одной дискеты на другую.DOSKEY - Редактирует командные строки, восстанавливает команды Windows и создает макрос.ECHO - Отображает сообщения, или включает/выключает вывод команд.EMM386 - Включает/выключает поддержку расширенной памяти EMM386.ENDLOCAL - Заканчивает локализацию изменений окружающей среды в *.BAT-файле.ERASE - Удаляет один или более файлов.EXIT - Прекращает выполнение программы (интерпретатор команд).EXTRACT - Средство извлечения информации из CAB - файлов.FC - Сравнивает два файла или установки файлов, и отображает различие между ними.FIND - Ищет текстовую строку в файле или файлах.FINDSTR - Поиск строк в файлах.FOR - Выполняет указанную команду для каждого файла в наборе файлов.FORMAT - Форматирует диск для использования с Windows.FTYPE - Отображает или модифицирует типы файлов, используемых в связях расширений.GOTO - Направляет интерпретатор команд Windows NT к помеченной строке в *.BAT-файле.GRAFTABL - Способность Windows отображать символы псевдографики, вставленные в графическом режиме.HELP - Обеспечивает информацию Help для команд Windows.IF - Выполняет обработку условия в *.BAT-файле.KEYB - Конфигурирует клавиатуру для заданного языка.LABEL - Создает, изменяет, или удаляет метку тома на диске.LOADHIGH(LH) - Загружает программу в верхние адреса памяти.MD - Создает директорию.MEM - Отображает величину используемой и свободной памяти в вашей системе.MKDIR - Создает директорию.MODE - Конфигурирует системное устройство.MORE - Отображает вывод одного экрана за раз.MOVE - Перемещает один или более файлов из одной директории в другую на том же диске.NETSTAT - Отображает статистики протоколов и текущих сетевых соединений TCP/IP.NLSFUNC - Загружает информацию, специфическую для страны.PATH - Отображает или устанавливает путь поиска для выполняемых файлов.PAUSE - Приостанавливает обработку *.BAT-файла и отображает сообщение.POPD - Восстанавливает предыдущее значение текущей директории, сохраненной по PUSHD.PRINT - Печатает текстовый файл.PROMPT - Изменяет подсказку к командам Windows.PUSHD - Сохраняет текущую директорию, потом изменяет.RD - Удаляет директорию.RECOVER - Восстанавливает читаемую информацию с плохого или дефектного диска.REM - Записывает комментарии (примечания) в *.BAT-файлы или CONFIG.SYS.REN - Переименует файл или файлы.RENAME - Переименует файл или файлы.REPLACE - Заменяет файлы.RESTORE - Восстанавливает файлы, которые были архивированы с использованием команды BACKUP.RMDIR - Удаляет директорию.SET - Отображает, устанавливает или удаляет переменные среды Windows.SETLOCAL - Начинает локализацию изменений среды в *.BAT-файле.SETVER - Устанавливает номер версии MS-DOS, который Windows сообщает программе.SHIFT - Сдвигает позицию замещаемых параметров в *.BAT-файле.SMARTDRV - Инсталлирует и конфигурирует утилиту кэширования диска SMART - драйва.SORT - Сортирует входной поток.START - Стартует отдельное окно для выполнения указанной программы или команды.SUBST - Связывает путь с литерой диска.SYS - Копирует файлы системы MS-DOS и интерпретатор команд на указанный вами диск.TIME - Отображает или устанавливает системное время.TITLE - Устанавливает заголовок окна для сеанса .TREE - Графически отображает структуру директория в драйве или путь.TYPE - Отображает содержимое текстового файла.VER - Отображает версию Windows.VERIFY - Сообщает Windows, проверять ли правильность записи файлов на диск.VOL - Отображает метку дискового тома и серийный номер.XCOPY - Копирует файлы и деревья директории.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@echo offset CURDATE=%DATE%move /Y %1 "%~d2%~p2%~n1%CURDATE:~8,2%%CURDATE:~3,2%%CURDATE:~0,2%%~x1"set CURDATE=
Вам ответили правильно по сути, но небрежно. У меня то же самое по сути, но почище.@ вначале строки означает, что при её выполнении она не будет выводится на экран.echo off означает, что последующие строки при выполнении не будут выводится на экран.set CURDATE=%DATE% - присвоение переменной окружения значения текущей даты. Сделано для того, чтобы избежать крайне маловероятного случая выполнения команды в полночь, в момент смены дат, поскольку к ней дальше обращаемся трижды.%~d2 - имя диска из второго аргумента вызова .bat-ника%~p2 - путь из второго аргумента%~n1 - имя файла из первого аргумента%CURDATE:~8,2% - 2 символа из даты, начиная с 8-го (нумерация начинается с 0), т.е. две последние цифры года%CURDATE:~3,2% - месяц%CURDATE:~0,2% - день%~x1 - расширение файла из первого аргументакавычки - чтобы избежать потенциальных проблем с путями, содержащими пробелы.move /Y - перемещение файла, подавление запроса на перезапись существующего.set CURDATE= - очистка переменной.
============================================================================================================================================================================================================================================================================
0 = Черный 8 = Серый 1 = Синий 9 = Светло-синий 2 = Зеленый A = Светло-зеленый 3 = Голубой 7 = Белый F = Ярко-белый 4 = Красный C = Светло-красный 5 = ЛиловыйD = Светло-лиловый 6 = Желтый E = Светло-желтый F = Ярко-белыйB = Светло-голубой
Простой пример батника с использованием COLOR - который меняет цвет фона каждые 2 секунды @echo off :D color 40 Ping -n 2 127.0.0.1 > nul color c0 Ping -n 2 127.0.0.1 > nul color 60 Ping -n 2 127.0.0.1 > nul color 20 Ping -n 2 127.0.0.1 > nul color 30 Ping -n 2 127.0.0.1 > nul color 10 Ping -n 2 127.0.0.1 > nul color d0 Ping -n0 2 127.0.0.1 > nul goto D
==================================================================================================================================================
cls@ECHO OFFtitle Folder Lockerif EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCKif NOT EXIST Locker goto MDLOCKER:CONFIRMecho Are you sure u want to Lock the folder(Y/N)set/p "cho=>"if %cho%==Y goto LOCKif %cho%==y goto LOCKif %cho%==n goto ENDif %cho%==N goto ENDecho Invalid choice.goto CONFIRM:LOCKren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"echo Folder lockedgoto End:UNLOCKecho Enter password to Unlock folderset/p "pass=>"if NOT %pass%==919396 goto FAILattrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Lockerecho Folder Unlocked successfullygoto End:FAILecho Invalid passwordgoto end:MDLOCKERmd Lockerecho Locker created successfullygoto End:End
=================================РУССКИЕ_БУКВЫ==============================================================================================================
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /freg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 0x0000036 /freg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x000c0000 /freg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 0x0000190 /fREG ADD HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CodePage /t REG_DWORD /d 1251 /f
flek.ucoz.ru