Команды bat-файлов (windows)

Массовая обработка файлов. Команда for

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

for /l %%i in (1,1,10) do echo %%i

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

Логика работы этой команды такова. После слова in указан диапазон изменения
счетчика цикла. В данном варианте команды это тройка чисел: начальное значение счетчика, шаг
счета, предельное значение счетчика. При выполнении команды командный процессор сначала
присвоит переменной i значение 1, а потом на каждом шаге
цикла будет увеличивать его на 1, пока оно не превысит 10.
Очевидно, таких шагов получится десять. Если бы в качестве шага счета мы указали число
2, то цикл выполнился бы пять раз. На каждом шаге цикла выполняется тело
цикла, написанное после слова do. В приведенном примере это команда echo,
которая выводит на экран текущее значение счетчика цикла.

Наверно можно придумать ситуацию, когда что-то подобное на самом деле требуется, но обычно
команда for используется для перебора и обработки файлов. Надо сказать, что в
достаточно простых случаях массовая обработка файлов выполняется с помощью подстановочных
символов. Если, мы хотим всем файлам в текущем каталоге заменить расширение
.htm на .html, мы вводим команду ren *.htm
*.html. Но если то же самое надо сделать не в одном каталоге, а в дереве каталогов,
то без команды for не обойтись. Приведенный ниже командный файл выполняет эту операцию для
всех htm-файлов в подкаталоге website текущего каталога. Точнее, во всем дереве каталогов,
которое находится внутри website.

for /r website %%i in (*.htm) do ren %%i %%~ni.html

Ключ /r указывает на необходимость обхода каталога website и
всех его внутренностей. Если его не указать (но тогда и каталог указывать не разрешается), то
обработаны будут только файлы в текущем каталоге. Диапазоном значений счетчика цикла в данном
варианте команды является множество всех файлов с расширением .htm,
находящихся внутри каталога (точнее, дерева) website. Странная на первый
взгляд запись ~ni означает, что из значения переменной i
требуется выделить только имя файла. В языке команд MS-DOS предусмотрено несколько таких
модификаторов, например, запись ~хi обозначает расширение файла. Все
модификаторы описаны в справке по команде for.

Тело цикла может состоять из нескольких команд, заключенных в скобки.

@echo off
for /r website %%i in (*.htm) do (
   rem Выводим имя файла
   echo %%i
   rem Переименовываем файл
   ren %%i %%~ni.html
)

Создание BAT-файла в Windows 10

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

Способ 1: Блокнот

Через классическое приложение «Блокнот» можно без труда создать и наполнить BAT необходимым набором команд.

Вариант 1: Запуск Блокнота

Этот вариант самый распространенный, поэтому рассмотрим его первым.

  1. Через «Пуск» запустите встроенный в Windows «Блокнот».

Впишите нужные строчки, проверив их корректность.

Нажмите на «Файл» > «Сохранить как».

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

Если в тексте есть русские буквы, кодировка при создании файла должна быть «ANSI». Иначе вместо них в Командной строке вы получите нечитаемый текст.

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

Вариант 2: Контекстное меню

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

Задайте ему желаемое имя и измените расширение, идущее после точки, с .txt на .bat.

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

Кликните по файлу ПКМ и выберите «Изменить».

Файл откроется в Блокноте пустым, и там вы его сможете наполнить по своему усмотрению.

Закончив, через «Пуск» > «Сохранить» внесите все изменения. Для этой же цели можно использовать сочетание клавиш Ctrl + S.

Если у вас на компьютере установлен Notepad++, лучше воспользоваться им. Это приложение подсвечивает синтаксис, позволяя удобнее работать с созданием набора команд. На верхней панели есть возможность выбрать кодировку с поддержкой кириллицы («Кодировки» > «Кириллица» > «OEM 866»), так как стандартная ANSI у некоторых по-прежнему продолжает отображать кракозябры вместо нормальных букв, введенных на русской раскладке.

Способ 2: Командная строка

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

  1. Откройте Командную строку любым удобным способом, например, через «Пуск», вписав в поиск ее название.

Впишите команду , где copy con — команда, которая создаст текстовый документ, c:\ — директория сохранения файла, lumpics_ru — имя файла, а .bat — расширение текстового документа.

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

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

Для сохранения файла используйте комбинацию клавиш Ctrl + Z и нажмите Enter. Их нажатие отобразится в консоли так, как показано на скриншоте ниже — это нормально. В самом батнике эти два символа не появятся.

Если все прошло успешно, вы увидите уведомление в Командной строке.

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

Не забывайте, что в любой момента можно редактировать батники, кликнув по ним правой кнопкой мыши и выбрав пункт «Изменить», а для сохранения нажать Ctrl + S.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Заметки

  • Если условие, заданное в команде if, выполняется, будет выполнена команда, следующая за условием. Если условие не выполняется, команда, заданная в операторе if, пропускается, а управление переходит к команде оператора else, если она задана.
  • Когда программа завершается, она возвращает код завершения. С помощью параметра errorlevel коды завершения можно использовать в качестве условий.
  • Использование команды definedпеременная

При использовании команды defined переменная добавляются следующие три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%.

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

goto answer%errorlevel% :answer0 echo Код возврата программы равен 0 :answer1 echo Код возврата программы равен 1 goto end :end echo Готово!

Операторы сравнения оп_сравнения также можно использовать следующим образом:

%cmdcmdline% замещается исходной командной строкой, переданной Cmd.exe, до ее обработки в Cmd.exe, если только уже не существует переменная среды с именем cmdcmdline. В этом случае будет использовано значение cmdcmdline.

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

Использование оператора else

Оператор else должен размещаться в той же строке, что и команда if. Пример:

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

IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. отсутствует

Приведенный ниже пример не будет работать, поскольку команда else должна находиться в той же строке, что и команда if:

Если необходимо разместить всю инструкцию в одной строке, можно использовать следующую правильную форму исходной инструкции:

IF EXIST имя_файла (del имя_файла) ELSE echo имя_файла отсутствует

Чем открыть файл в формате BAT

Расширение BAT представляет собой системный файл ОС MS-Dos или Windows, который применяется в качестве исполнительного в Command Prompt (cmd.exe).

BAT файл еще принято называть пакетным, однако речь идет отнюдь не об архивировании данных, как это принято полагать в стандартном представлении. Формат поддерживает пакет (набор) исполнительных команд, которые при загрузке BAT файла выполняются в интерактивном режиме. При отсутствии такого файла, пользователь вынужден был бы вручную вводить их с клавиатуры.

По своей структуре, расширение представляет собой типовой текстовый файл, сохраненный в формате BAT.

В основе описания файла заложен скриптовый язык программирования, выполняющий команды BAT файла в ОС MS-Dos и Windows.

Самый распространенный пример данного формата на платформе MS-DOS – это AUTOEXEC.BAT. Он начинает загрузку системы и инициализирует все ее компоненты. Для того чтобы инициировать исполнение данного формата, его имя достаточно лишь ввести в командной строке. Набор стандартных BAT-файлов, необходимых для корректного функционирования ОС, как правило, поставляется в комплекте с операционной системой. Однако пользователь может отредактировать такой файл вручную с помощью обычного тестового редактора, добавив или убрав какие-либо исполнительные программы. Строго не рекомендуется осуществлять форматирование расширения неопытному пользователю. Это может поставить под угрозу функционирование всей операционной системы.

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

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

Программы для открытия BAT файлов

BAT расширение неприхотливо к платформе конкретной операционной системы и одинаково успешно может функционировать на базе ОС Windows, Mac и Linux.

Чтобы открыть BAT файл в ОС Windows принято использовать:

  • утилита коммандной строки Microsoft Windows;
  • любой текстовый редактор.

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

  • поврежден или инфицирован файл;
  • файл не связан с реестром ОС (выбрано некорректное приложение для воспроизведения или не произведена инсталляция конкретного плагина);
  • недостаточно ресурсов устройства или ОС;
  • поврежденные или устаревшие драйвера.

Конвертация BAT в другие форматы

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

Почему именно BAT и в чем его достоинства?

BAT расширение представляет собой системный файл ОС MS-Dos или Windows, содержащий набор исполнительных команд. Оно не является популярным среди обычных пользователей, а востребовано сугубо в среде системных администраторов и опытных программистов.

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

Другие похожие форматы и расширения файлов

Как создать «батник» в операционной системе Windows 7

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

Будьте внимательны! Никогда не запускайте на компьютере файлы с расширением .BAT, скачанные из неизвестного или подозрительного ресурса, а также не используйте при создании такого файла код, в котором вы не уверены. Исполняемые файлы такого типа умеют шифровать, переименовывать или удалять файлы, а также форматировать целые разделы.

Способ 1: использование расширенного текстового редактора Notepad++

Программа Notepad++ является аналогом стандартного Блокнота в операционной системе Windows, значительно превосходя его в количестве и тонкости настроек.

  1. Файл можно создать на любом диске или в папке. Для примера будет использован рабочий стол. На свободном месте нажмите правую кнопку мыши, наведите курсор на надпись «Создать», в выпавшем сбоку окошке щелчком левой кнопки мыши выберите «Текстовый документ»

На рабочем столе появится текстовый файл, который желательно назвать так, как в итоге будет называться наш батник. После того, как имя для него определено, нажмите на документе левой кнопкой мыши, и в контекстном меню выберите пункт «Edit with Notepad++». Созданный нами файл откроется в расширенном редакторе.

shutdown.exe -r -t 00

После запуска этот батник перезагрузит компьютер. Сама команда означает запуск перезагрузки, а цифры 00 — задержку ее выполнения в секундах (в данном случае она отсутствует, то есть перезапуск выполнится незамедлительно).
Когда команда будет записана в поле, наступает самый важный момент — превращение обычного документа с текстом в исполняемый. Для этого в окошке Notepad++ слева вверху выберите пункт «Файл», затем нажмите на «Сохранить как».

Появится стандартное окно Проводника, позволяющее задать два основных параметра для сохранения — место и имя самого файла. Если с местом мы уже определились (по умолчанию будет предложен Рабочий стол), то именно в названии заключается последний шаг. Из выпадающего меню выберите пункт «Batch file».

К уже заданному ранее слову или фразе без пробела допишется «.BAT», и получится так, как на скриншоте ниже.

После нажатия на кнопку «OK» в предыдущем окне, на рабочем столе появится новый файл, который будет выглядеть как белый прямоугольник с двумя шестеренками.

Способ 2: использование стандартного текстового редактора Блокнот

Он обладает элементарными настройками, которых вполне хватает для создания самых простых «батников». Инструкция абсолютно аналогична предыдущему способу, программы лишь немного отличаются в интерфейсе.

  1. На рабочем столе двойным щелчком откройте ранее созданный текстовый документ — от откроется в стандартном редакторе.

В окошке редактора слева вверху нажмите на кнопку «Файл» — «Сохранить как…». Откроется окно Проводника, в котором необходимо указать место сохранения конечно файла. Здесь отсутствует способ задания необходимого расширения с помощью пункта в выпадающем меню, поэтому просто нужно дописать к названию «.BAT» без кавычек, чтобы получилось так, как на скриншоте ниже.

Оба редактора отлично справляются с созданием батников. Стандартный блокнот больше подходит для простых кодов, в которых используются несложные одноуровневые команды. Для более серьезной автоматизации процессов на компьютере необходимы продвинутые батники, которые с легкостью создаются расширенным редактором Notepad++.

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

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

Сразу перейду к делу:

Запуск 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». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

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

Как создать bat файл?

Для начала создадим папку test в корне диска C:\, чтобы в ней проводить наши эксперименты. Далее откройте блокнот (или любимый текстовый редактор) и наберите две следующих строки:

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

Пример заполнения файла

Выберите Файл — Сохранить как

Выберите Тип файла — Все файлы, в поле Имя файла введите start.bat и сохраните его в папке test на диске С.

Все, наш первый bat файл создан и лежит по адресу C:\test\start.bat. Теперь нам осталось этот файл запустить и увидеть результаты его работы.

Отправка сообщения непосредственно из файла BAT

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

net send name Message text

Здесь параметр name означает название некоторого устройства, куда будет отправлено сообщение. В качестве самого сообщения следует прописать информацию Message text

Важно учитывать применяемый алфавит. Когда осуществляется работа с кириллицей, нужно применять кодировку MS-DOS (866 кодовая страница) или любую аналогичную ей

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

В качестве примера подобной программы можно отметить FAR. Следует выполнить открытие пакетного документа через этот текстовый редактор за счет нажатия клавиши F4 или выбора соответствующего пункта. Указывается кодировка DOS – она исключает проблему невозможности распознания символов системой.

Основные операторы bat-файла:

  • ECHO: отображает текст в DOS-окне;
  • ECHO OFF: отменяет показ текста команд в DOS-окне, показывая подсказку и выполненный результат;
  • @ECHO OFF: отменяет показ текста команд и подсказок, показывая выполненный результат;
  • XCOPY: используется для копирования каталогов и файлов с добавочными параметрами;
  • START: запускает исполняемый файл .exe со своим стандартным приложением, открывает каталог;
  • FOR/IN/DO: применяется для указания файлов;
  • MKDIR: создает каталоги;
  • REM: для ввода строки комментария в программе;
  • RMDIR: для удаления каталогов;
  • DEL: для удаления файлов;
  • COPY: для копирования файлов;
  • TITLE: редактирование заголовка окна.

Применение некоторых из перечисленных команд показано на примере ниже. Необходимо отметить, что команда @echo off скрывает путь выполняемой команды, отображаемый cmd на DOS-экране.

Команда @echo off скрывает путь выполняемой команды

Запуск программ в файле bat происходит с помощью команды start и указанием имени запускаемой программы.

Запуск программ в файле bat происходит с помощью команды start

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

В файле прописан полный путь до исполняемого файла

Обе эти записи для firefox работают корректно. Однако, они обе корректны только для зарегистрированных в Windows приложений. Если попробовать запустить портативную программу (например, filezilla) без прописи всего пути к запускаемому файлу, она не запустится.

Что такое bat-файлы и зачем они нужны?

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

 
Что такое bat-файлы?

Bat-файлы или «батники» называют так из-за их разрешения (BAT). Bat-фалы это по сути текстовые файлы, которые содержат от одной до нескольких строчек кода командной строки. Запуск BAT-файлов выполняется простым двойным кликом по нему. Записанные в нем команды будут выполняться последовательно, при этом появится окошко командной строки. После завершения выполнения команд окно командной строки закроется. Вы моги замечать, как работают такие файлы при установке игр и приложений. В таких окнах очень часто происходит распаковка архивов большой степени сжатия с отображением процента распаковки. Если же «батник» содержит всего несколько простых команд, то окно командной строки может появиться всего на несколько миллисекунд и исчезнуть с экрана.

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

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

 
Как создать bat-файлы?

Предположим, вам необходимо создать «батник», который будет запускать определенные программы в заданной последовательности. При этом чтобы не создавать на рабочем столе несколько ярлыков и запускать каждый из них мышкой удобно создать один единственный bat-файл и запускать его, а он уже в свою очередь запустит все те приложения.
Для создания bat-файла вам понадобится простой текстовый редактор, традиционно в системе Windows пользуются Блокнотом. Запустите текстовый редактор и впишите в него несколько строк, которые соответствуют синтаксису команд командной строки.

Например, для запуска приложений:

start explorestart calcstart iexplore

После чего сохраните этой файл на Рабочем столе с понятным для вас именем, например «Запуск прог». Расширение сохраненного файла при этом надо изменить с TXT на BAT. Если у вас не отображается расширение файла, то необходимо включить отображение расширений файлов. Сделать это можно в настройках параметров папки через Панель управления или в самом проводнике. После того, как вы поменяете расширение, сделайте пробный запуск сохраненного файла. При выполнении указанного выше примера произойдет запуск сразу трех программ: Проводника, Калькулятора и Internet Explore.

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

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

Посмотрите ещё :

  • Как сменить путь в командной строке

  • Проверка и восстановление системных файлов Windows 7/8

  • Total Commander

  • Ошибка 720 при подключении VPN-соединения

  • Создание ярлыков быстрого вызова служб Windows 8

Категория: Полезные статьи

Пример 1 – удаление старых архивов

При архивировании чего-либо, многих интересует вопрос «Как удалять старые архивы за ненадобностью с помощью батника?». Например, все они лежат в одной папке и нужно удалять все архивы, которые старше 14 дней. После того как я почитал мануалы, полазил в Интернете, я могу предложить следующий способ.

Можно сделать так, что в папке с архивами будут храниться только определенное количество архивов, соответственно последних (т.е. как раз в нашем случае за последние 2 недели).

Это делается с помощью двух команд. Первая, это DIR, т.е. просто считываем все файлы в одной папке, и записываем их название в текстовый файл.

dir D:\arhiv\*.rar /a:-D/b/o:-D > list_of_files.txt

где,

  • dir D:\arhiv\*.rar – это означает, что мы считываем все rar архивы в папке D:\arhiv\;
  • /a:-D – это означает, что будут выводиться все файлы с указанными атрибутами, ключ -D означает, что нам нужны только файлы, не каталоги, префикс «-» как раз имеет значение отрицание, т.е. не каталоги, если бы мы написали просто D, то он считывал бы и каталоги;
  • /b – это вывод только имен файлов;
  • /o:-D – это сортировка, ключ –D означает, что будет выполнена сортировка по дате, но сначала более старые, для исправления этого мы уже знаем, что нам поможет префикс «-»;
  • > — означает, что будет выполнено перенаправление вывода в файл list_of_files.txt, назвать можете по-другому.

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

for /F «skip=13» %%i in (list_of_files.txt) do (del /Q «%%i»)

где,

  • for – сама команда для переборки;
  • /F «skip=13» – это ключ с параметром, который означает, что не нужно обрабатывать первые 13 файлов, т.е. мы их пропускаем. Почему 13, а не 14 да потому что 14 архив (т.е. сегодняшний, который должен создаться при выполнении этого батника) еще не создался, поэтому и 13;
  • %%i – переменная, в которой хранится название текущего файла;
  • In (list_of_files.txt) – означает, что перебирать все строки именно в этом файле;
  • do (del /Q «%%i») —  говорит, что необходимо сделать с каждым, в нашем случае мы просто удаляем эти файлы с помощью del /Q ключ /Q, для того чтобы у нас не спрашивали подтверждения перед удалением. Советую для тестов del /Q заменить на echo, т.е. просто вывести на экран те файлы.

Итого у нас получился вот такой батник:

dir D:\arhiv\*.rar /a:-D/b/o:-D > list_of_files.txt

for /F «skip=13» %%i in (list_of_files.txt) do (del /Q «%%i»)

Соответственно после этих строк можете писать сам код архивации, и в итоге у нас получится то, что в нашей папке будет храниться только 14 архивов, конечно же, самых последних.

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector