Создание файла bat в windows

Способы обхода процедуры проверки даты из файла BAT

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

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

set tempdate=%date:~-10%

date 01-01-04

start notepad.exe

date %tempdate%

Что именно делают прописанные строки? Прежде всего, производится сохранение текущей даты в системе. Для этого применяется особая переменная. Во второй строке происходит установка системной даты на новое значение. В данном случае, это 1 января 2004 года. Сразу после этого предполагается проведение вызова программы, отвечающей за проверку системной даты. Мы использовали блокнот, но в Вашем случае требуется предусмотреть подобный момент. Пока Блокнот является открытым, пакетный документ ожидает, а сама дата не предусматривает изменение обратно. После закрытия Блокнота происходит возврат системной даты из переменной.

Важно уделить внимание определенному моменту. Когда в пути до конкретного документа используются символы из кириллицы, рекомендуется применять текстовый редактор с поддержкой кодировки 866 (ОЕМ, русская) или аналогичного варианта. Когда это не предусматривается, происходит выдача ошибки и работа пакетного файла не осуществляется

Когда это не предусматривается, происходит выдача ошибки и работа пакетного файла не осуществляется.

Большинство программ упрощают систему проверки – она выполняется исключительно в процессе запуска. Это позволяет модифицировать пакетный документ в соответствии с подобными запросами.

set tempdate=%date:~-10%

date 01-01-04

start notepad.exe

date %tempdate%

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

Часть вторая. Синтаксис при написании bat-файлов

  • Каждая команда вводится с новой строчки;
  • Все команды выполняются последовательно за исключением тех случаев, когда внутри самого батника присутствует переход к определённой его части;
  • Комментарии в пакетный файл могут быть добавлены двумя способами:
    — либо после двух двоеточий ::переход к части копирования — либо при помощи команды goto, т.е. вводится команда goto, потом место для перехода, а между ними сам комментарий
    goto begin
    ----------------------------------------
    Это батник служит для резервного копирования дипломной работы
    ----------------------------------------
    begin
  • Если команду необходимо ввести с атрибутом, то сначала вводим команду, затем пробел, слэш и, собственно, сам ключ copy /Y Чтобы посмотреть список возможных атрибутов к конкретной команде, нужно в командной строке ввести команду, затем пробел, слэш и знак вопроса dir /?
  • Для скрытия окна терминала выполняемой команды можно в начале строки поставить знак собачки @, если же требуется скрыть отображение выполнения всех команд, то проще (чтобы не ставить собачку в каждой строчке) в начале батника указать @echo off здесь команда echo off скрывает окна, а собачка впереди неё запрещает отображение выполнения самой echo off
  • Все директории внутри команд, для исключения возможных ошибок, будем вводить в кавычках;
  • По умолчанию при работе с кириллическим текстом на выходе вы можете получить иероглифы, при работе с папками/файлами, имеющими русские имена, вообще может ничего не получиться, это происходит из-за используемых кодировок, поэтому для исключения подобных неприятностей в начале пакетного файла будем указывать кодировку, корректно работающую с кириллицей следующей командой chcp 1251
  • Есть команды (например, удаление файлов, форматирование), которые могут потребовать подтверждения действий. Порой это бывает очень нежелательно, в таком случае, можно вписать ответ заранее в сам пакетный файл. Ответ записывается ДО! команды и отделяется от неё вертикальной чертой |Y|del
  • В командной строке (а значит и в пакетных файлах) при указании директории иногда бывает удобнее пользоваться переменными, нежели прописывать весь путь cd %APPDATA%

Примеры команд для bat файлов

Теперь рассмотрим основные команды, которые Вы можете использовать.

Если Вам нужно удалить файл пропишите следующие:

Del d:\file\test.doc

Для того чтобы удалить весь каталог пропишите:

Rd d:\file\

Вдруг Вам нужно удалять каждый раз все из какого-нибудь каталога, то используйте вот что:

Echo Y| del d:\file\

  • del d:\file\ — это как раз и есть удаление всех файлов;
  • echo Y| — команда подтверждает удаление т.к. если не прописать эту команду, то Вы увидите сообщение о подтверждение удаления – «Продолжить », и Вам нужно будет каждый раз отвечать на этот вопрос.

Сейчас давайте рассмотрим пример посложней, в котором уже выполняется условие:

@echo off
«C:\Program Files\WinRAR\winrar.exe» x -O+ -IBCK d:\test\test.rar d:\test
IF not EXIST d:\test\123.rar GOTO 1
IF EXIST d:\test\123.rar GOTO 2:2
«C:\Program Files\WinRAR\winrar.exe» x -O+ -IBCK d:\test\123.rar c:\
del d:\test\123.rar:1
del d:\test\test.rar
end

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

По порядку, команда @echo off нужна, для того чтобы на экране у нас ничего не отражалось (в принципе, если не нужно можете не писать эту строку
). Далее у нас запускается винрар и распаковывает архив test.rar в папку test. Затем идет условие, если в папке test (после распаковки test.rar
) у нас не окажется файла 123.rar, то у нас просто выполнение батника переходит к строке:1 и потом просто удаляется файл test.rar за не надобностью т.к. все что нам нужно мы уже распаковали. Но если там оказывается файл 123.rar, то выполнение батника переходит к строке:2, после которой уже идет распаковка файла 123.rar в корень диска C. Другими словами у нас выполняется условие, если есть файл то делать это, если нет файла, делать вот это. Допустим, если не прописать условие в данном примере, то у нас батник выдаст ошибку, тогда когда у нас не окажется файла 123.rar в данной папке.

А сейчас рассмотрим такой пример, допустим, Вам нужно каждый раз перемещать из каталога расположенного на диске D файлы на флешку. Вы каждый раз должны будете заходить мой компьютер диск D, выбирать нужную папку, выделять все файлы из нее и вырезать, а потом только заходить на флешку и вставлять. С помощью батника это делается в один клик (с одним условием, что флешка каждый раз будет, например диском G или тем какой у Вас
). Вот пример такого батника:

Move «D:\catalog\*.doc» G:\catalognaflehe\

И все файлы с расширением doc, которые находятся в каталоге D:\catalog будут перемещаться на флешку. Теперь хочу сказать, что в батниках можно использовать сценарии (скрипты
) при помощи Windows Scripting Host и если нужно, например чтобы выводилось сообщение, после того как файлы скопированы (предыдущий пример
) вставьте вот это:

Echo var WSHShell = WScript.CreateObject(«WScript.Shell»); > %temp%\mes.js
echo WSHShell.Popup(«Файлы Скопированы»); >> %temp%\mes.js
start %temp%\mes.js
deltree /y %temp%\mes.js

На самом деле про написание батников можно разговаривать много и в одну статью это, конечно же, не уместить, здесь я показал всего лишь принципы, которые используются при написании bat файлов, так сказать основу. Если Вы хотите узнать больше команд для написания батников, Вы можете легко посмотреть их, набрав в командной строке (Пуск — Выполнить – cmd
) команду help, но там, конечно же, не все команды, что можно использовать в батниках. Удачи в написание BAT файлов (батников
).

Чтобы открыть командную строку в нужном месте (в папке с файлами, например), нужно вызвать контекстное меню (ПКМ) с зажатой клавишей Shift
:

О том, как работать с командной строкой вы . Переходим непосредственно к командам.

Список всех команд консоли с описанием можно получить, набрав в консоли help
Справку по любой команде можно получить при помощи ключа /?
Например: DIR /?
выведет справку по всем ключам команды DIR

Сотворение файла

В данном примере рассмотрен вариант, как создать файл с расширением txt через cmd.

Не покидая необходимого каталога введите в строке следующее: «copy con filename.txt».

Здесь copy con – это команда копирования вводимой фразы в файл.

Далее становится доступным режим для ввода текста. Чтобы завершить сотворение файла, щёлкните на кнопку F6 и подтвердите операцию (клавишей «Enter»). В некоторых системах вместо F6 нажимается Ctrl+Z.

Как создать новый текстовый файл через cmd? Для этого вводится команда NUL> с именем файла. Пример на изображении:

Операцию можно повторять столько раз, сколько вам требуется файлов. Если такой надобности нет, то процедура завершается. Можно закрывать командную строку.

Пакетный (bat) файл – это тип файла, поддерживающий текст, имеющий расширение .bat, и включающий в себя построчные операторы для командной строки cmd.exe.

Этот тип файла – полезный инструмент автоматизации однообразных файловых операций – копирования, удаления и т.д., а также запуска различных приложений и выполнения других операций в ОС.

К примеру, если необходимо выполнить DOS-команду ipconfig/flushdns, очищающую кэш распознавателя DNS, это можно сделать через запуск cmd.exe. Однако, если процедуру нужно повторить многократно, лучше сделать это через запуск предварительно созданного bat-файла.

При создании файла bat, возможно, потребуется включение отображения файловых расширений. Для этого:

  1. Щелкнуть мышью (правой) на кнопке «Пуск», и выбрать «Панель управления». Нажимаем мышью (правой) на кнопке «Пуск», и выбираем «Панель управления»
  2. Запустить элемент управления «Параметры проводника». Запускаем «Параметры проводника»
  3. В окне «Параметры проводника» перейти к закладке «Вид» и, двигая мышкой полосу прокрутки вниз, дойти до пункта «Скрывать расширения для зарегистрированных типов файлов», сняв с него отметку и нажав «ОК». Убираем галочку и нажимаем «ОК»

Создание пакетного файла с помощью программы «Блокнот»

Шаг 1. Для запуска блокнота войдите в меню «Все программы», пункт «Стандартные» и щелкните по запускающей пиктограмме.


Запускаем программу «Блокнот»

Шаг 2. Укажите, какие команды должен выполнять bat файл.


Указываем, какие команды должен выполнять bat файл

Узнайте, как создать файл без больших познаний в программировании, из новой статьи — «Как создать файл bat».

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

«@echo off

mode con cols=32 lines=50

color a

title star!

for %%i in (

88888888888888881888888888888888, 88888888888888811188888888888888, 88888888888888111118888888888888, 88888888888881111111888888888888, 88888888888811111111188888888888, 88888888888111111111118888888888, 88888888881111111111111888888888, 11111111111111111111111111111111, 88111111111111111111111111111188, 88811111111111111111111111111888, 88881111111111111111111111118888, 88888111111111111111111111188888, 88888811111111118111111111888888, 88888111111111188811111111188888, 88881111111111888881111111118888, 88811111111118888888111111111888, 88111111111188888888111111111188, 81111111111888888888811111111118

) do echo %%i

pause > nul

bat».

Шаг 3. Сохраните получившийся файл в нужную директорию. Для изменения разрешения используйте строку «Тип файла», в ней следует выбрать «Все файлы», а при вводе имени, после точки, укажите «bat».


Сохраняем получившийся файл в нужную директорию

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами. Известно, что для выполнения некоторых действий программам нужны права администратора. Понадобиться они могут и батникам. Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.

Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

Set WshShell = CreateObject("WScript.Shell")  WshShell.Run chr(34) & "D:script.bat" & Chr(34), 0  Set WshShell = Nothing  

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

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Здравствуйте, уважаемые читатели сайта itswat.ru. Если вам неизвестно, как через cmd создать файл, и в каких ситуациях это актуально, то данная статья будет вам особо полезна.

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

Создание батника в Windows 7/10

Простая и доступная инструкция в следующем видео:

В любой операционной системе семейства Windows «батник» можно создать в текстовом редакторе. Самое элементарное – использовать встроенный инструмент «Блокнот».

Способ создания файла bat в Windows 7/10 показан ниже:

  1. Открыть «Блокнот» (расположен в «Программы» – «Стандартные»). В Windows 10 его можно запустить, если воспользоваться поиском, доступным в системном трее. Сама программа находится в папке C:Windowsnotepad.exe.

  1. Ввести код будущего файла (можно скопировать из стороннего источника или создать свой). У меня команда на включение точки доступа на ноутбуке

  1. После написания кода остается открыть в «Блокноте» меню «Файл» и выбрать «Сохранить как». Потребуется показать папку, где будет сохранен скрипт, набрать расширение файла .bat самостоятельно и в списке «Тип файла» указать «Все файлы». Вместо .bat можно применять .cmd.

  1. Теперь можно нажимать «Сохранить».

После этих действий созданный «батник» будет готов. Если открыть его, он в автоматическом режиме запустит все указанные в нем команды (главное, чтобы в них не содержались ошибки и был запуск с правами администратора).

В случае появления необходимости редактирования скрипта достаточно нажать на него ПКМ и выбрать «Изменить».

В операционных системах XP или 7 (32-битная) можно сделать «батник», если открыть командную строку и ввести edit. Откроется консольный редактор, где написание кода не отличается от предложенного в «Блокноте».

Запуск программ и основные команды

Следующее видео о работе с командами для «батников»:

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

Стоит обратить внимание, что часть из них может не поддерживаться в системах Windows 8 или 10

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

  1. В основном, пользователям нужно немного – настроить запуск определенной программы (или нескольких), запустить одну из функций, настроить раздачу Wi-Fi через ноутбук или отключить компьютер через заданное время. Чтобы запустить программу или сразу несколько, нужно ввести следующее: start “расположение_программы”.
  1. Если в названиях папок есть пробелы, нужно пометить расположение двойными кавычками: start ” “C:\My files\My file.exe”.
  2. После прописанного пути, можно добавить свои опции, чтобы программа запускалась вместе с ними. Это также берется в кавычки, таким образом: start “c:\windows\notepad.exe file.txt”
  1. Следующая интересная функция позволяет загружать «батник» из текущего файла. Для этого нужно воспользоваться оператором call, что выглядит так: call расположение_файла опции
  2. Полученные параметры во время запуска возможно прочесть из подключаемого файла. К примеру, для вызова файла с опциями потребуется указать: call file.bat опция1 опция2 опция3. Из file.bat можно считать эти операторы и пользоваться ими как путями, чтобы запускать другие приложения подобным образом: echo %1 или Каждой опции присваивается свой номер, к которому добавляется знак процента. В показанном примере результатом является вывод команд отправленных опций в консоль (echo применяется, если нужно вывести текст в консоль).
  3. В некоторых случаях, перед запуском следующей команды следует выждать время (к примеру, когда первая программа будет полностью запущена). Это делается с помощью команды: timeout /t указать_количество_секунд
  4. Если есть необходимость запускать программу свернутой или развернутой, можно добавить перед путем к программе параметр MIN или MAX: start /MIN c:\windows\notepad.exe.
  5. Чтобы закрыть окно с командами, когда они будут запущены (впрочем, в большинстве случаев оно будет закрыто, если используется start), в последней строчке нужно добавить exit. Если же консоль так и остается открытой, можно попытаться сделать следующее: cmd /c start /b “” расположение_программы опции.

Стоит учитывать, что окно будет закрыто сразу же, как только выполнятся указанные команды. При необходимости, чтобы увидеть информацию из окна, нужно применить pause. С ней можно остановить закрытие окна до нажатия пользователем любой кнопки из консоли.

Часть пятая. Прочие возможности bat-файлов

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

@echo off
chcp 1251
dir >file.txt

После выполнения этого файла, в папке, откуда он запускался, будет создан файлик file.txt, содержащий перечень всех файлов и папок в этом каталоге с указанием размера и даты последнего изменения. Можно преобразовать этот файл до вида

@echo off
chcp 1251
dir /S "c:\" >"X:\file.txt"

/S заставит батник показать содержимое не только каталога, но и всех подкаталогов.c:\ поможет отобразить содержимое не того каталога, откуда запускается бат-файл, а нужного нам.X:\file.txt сохранит конечный файл со списком содержимого в указанное нами место;

Запуск файлов из командной строки 

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

@echo off
chcp 1251
"c:\Документы\напоминание.doc"

Для системных же программ нужно указать лишь её обозначение.

@echo off
chcp 1251
calc

При выполнении этого батника откроется калькулятор. В данном случае строчку chcp 1251 можно опустить (как и в некоторых ситуациях из примеров выше), однако если уж стандартизировать все наши пакетный файлы, то её можно и оставить, вреда не будет.

Импорт и экспорт переменных реестра из пакетного файла

Если требуется выполнить импорт в реестр некоторых переменных, то для решения этой задачи нужно использовать команду regedit.Exe -s C:\environment.reg

Если стоит задача по экспорту данных, то нужно использовать другой подход:

regedit.exe

-ea C\environment.reg «HKEY_CURRENT_USER\Environment»

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

Добавляем в файл команду, например, для копирования

Далее, собственно, нам в этот файлик нужно ввести команду, которая будет воспроизводиться по средством консоли (cmd
) при запуске этого файла. В данном случае мы воспользуемся командой xcopy
ибо именно она позволяет копировать файлы, каталоги и подкаталоги. Учитывая все пути у нас получится следующая команда:

xcopy C:\test\testcopy C:\test\backup /f /i /y /s

Разъясняю что тут к чему:

  • xcopy
    — это сама команда;
  • C:\test\testcopy
    — это источник, т.е. папка откуда копируются файлы и каталоги;
  • C:\test\backup
    — это результат, т.е. место, куда будут скопированы файлы и каталоги;
  • /f /i /y /s
    — дополнительные параметры синтаксиса для команды xcopy
    (см.синтаксис ниже по тексту).

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

Какие есть (т.е. те, что я указал в данном примере):

  • /f
    — выводит имена исходных файлов и файлов-результатов в процессе копирования
  • /i
    — создает новый каталог в случае, если тот отсутствует в конечном пути
  • /y
    — перезаписывает файл в случае, если он уже есть
  • /s
    — копирует каталоги и подкаталоги, если они не пусты. Если параметр /s
    не задан, команда xcopy
    будет работать только с одним каталогом.

Как по мне — это основной список параметров необходимых для «тихого» копирования, т.е. без лишних вопросов о перезаписи, создания каталогов и прочей шушеры. Касательно остального синтаксиса можно почитать, например, .

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

В случае деятельности BAT файлов сложного типа способны возникнуть проблемы в плане того, насколько правильно функционирует система. Именно по этой причине применяется специальное средство – запись в специальный лог-файл. Это предусматривает возможность ознакомиться с документом в дальнейшем и провести анализ того, насколько правильно осуществлялось выполнение поставленных задач.

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

@echo off

echo Start %time%

echo Create test.txt

echo test>C:\test.txt

echo Copy Test.txt to Old_test.txt

copy C:\test.txt C:\Old_test.txt

echo Stop %time%

Необходимо подробнее разобрать, что именно выполняет указанный набор команд.

Первой строкой задается отключение вывода команд. Это позволит получить в лог-документе исключительно результаты осуществления.

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

Третьей строкой указывается на то, что следующей командой будет создаваться текстовый документ test.txt.

Четвертая строка предназначена для того, чтобы непосредственно осуществить поставленную задачу. Следующим этапом производится запись в него одного слова – test.

Пятая строка проводит выдачу в лог-документ пояснение о том, что следующим этапом станет происходить копирование в иное место.

В шестой строке осуществляется непосредственное копирование C:\test.txt в файл C:\Old_test.txt. Можно говорить о том, что происходит создание копии документа, но с присвоением для него нового названия.

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

Требуется рассмотреть дальнейшие возможности по модификации предложенного набора команд. Часто возникает запрос на выполнение хранения подобных документов в специально предназначенной для них папке. Каждый день должна производиться запись отчета с присвоением для него нового названия. Оптимальный вариант – это использование имени, состоящего из некоторого слова и автоматически добавляемой к нему текущей даты. Сам файл можно назвать 1.bat и сохранить.

Теперь создадим на диске папку LOG и полный путь к ней станет иметь указанный вид: C:\LOG. Следующим этапом происходит запуск команду установленного типа:

1.bat>C:\LOG\%date~-10%.txt

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

«C:\Program Files\1.bat»>C:\LOG\%date~-10%.txt

C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

Предполагается, что сразу после начала работы 1.bat в папке C:\LOG произойдет создание документа с названием, которое включает текущую дату. Именно указанный файл и требуется установить в качестве отчета о деятельности пакетного файла 1.bat. Если запустить рассмотренный BAT файл, то предполагается предоставление указанного далее результата:

Start 19:03:27,20

Create test.txt

Copy Test.txt to Old_test.txt

Скопировано файлов: 1.

Stop 19:03:27,21

Чтобы произвести перенаправление результатов работы bat-документа в лог-документа, следует применять специальный символ (>). Написание команды будет иметь представленный ниже вид:

Путь\ИмяФайла.bat>Путь\ИмяЛогФайла.txt

Некоторые вопросы касаются расширения, которое должно даваться лог-файлу. Оно может быть любым, в том числе являться страницей html. Последний вариант особенно удобен в том случае, когда выгрузка значений должна происходить на какой-либо сайт.

Что собой представляет BAT-файл

С точки зрения пользователя компьютера это текстовый файл с соответствующим расширением, но для операционной системы такие файлы особенные – они состоят из ряда команд, которые после запуска интерпретируются и выполняются по определённым правилам. Таким образом, ответ на вопрос, что такое батник для компьютера под управлением ОС Windows, может звучать следующим образом: это набор команд, записанный в текстовом формате, позволяющий сэкономить время на их наборе каждый раз, когда возникнет необходимость. Сленговое название таких файлов – батник, их также называют пакетными файлами.

С помощью таких батников можно автоматизировать целые классы задач:

  • осуществлять управление файловой системой компьютера (удалять, создавать, перемещать файлы, каталоги, подкаталоги);
  • выполнять последовательность команд с определёнными параметрами, которые могут быть контекстно-зависимыми;
  • осуществлять пакетный запуск программ/утилит.

Внешние команды

  • Exit используется для выхода из консоли DOS или (с опцией /b) только текущего bat-файла или подпрограммы.
  • Ipconfig – это классическая консольная команда, которая выводит информацию о сети. Она включает MAC- и IP-адреса, и маски подсети.
  • Ping пингует IP-адрес, отправляя к нему пакеты данных, чтобы оценить его удаленность и время ожидания (отклика). Также используется для задания паузы. Например, команда ping 127.0.01 –n 6 приостанавливает выполнение кода на 5 с.

Библиотека команд bat-файлов огромна. К счастью, в Сети есть множество страниц, в которых все они перечислены, наряду с переменными пакетного скрипта.

Применяемые в документах BAT команды

Как уже упоминалось, допускается использовать все команды, некоторые из них предназначаются специально для работы в пакетных файлах. Можно ознакомиться с полным перечнем. Для этого предполагается получить доступ к командной строке. Это можно сделать через Пуск > Выполнить > CMD.

Предусматривается несколько вариантов получения сведений:

help

Если осуществить ввод указанной команды, можно получить полный список существующих команд и небольшие описания к ним. Разрешается обеспечение более детальных сведений. Чтобы можно было их получить, требуется ввести help и название интересующей команды. В качестве примера рекомендуется указать возможность получения данных по АТ:

help AT

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

start название_документа.txt

Если осуществить запуск подобной команды, то произойдет открытие название_документа.txt. Важным моментом является тот факт, что пакетный файл окончит свою деятельность. Использование подобного метода является оправданным в тех случаях, когда объемы лог-файла невелики.

Основные команды, синтаксис и примеры использования батников

Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.

Открываем пустой батник и вставляем в него такие команды:

start "" "C:/Program Files/Google/Chrome/Application/chrome.exe"  timeout /t 05  start "" "C:/Program Files/Mozilla Firefox/firefox.exe"  timeout /t 05  start "" "C:/Program Files/VideoLAN/VLC/vlc.exe"  

Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками

Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь

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

start /b "" "путь"

Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.

start /b "" "путь"  pause  

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

@echo off  chcp 1251  echo "Вы действительно хотите выключить компьютер?"  pause  shutdown /s /t 0  

Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

del /A /F /Q "D:/data"

А можно и так:

forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path"

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:

robocopy C:/data D:/backup /e  pause  

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Вадлейд
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: