Batch файл

Содержание

Пакетные (BAT) файлы – что такое, чем открыть и как писать узнаешь тут!

Batch файл
страницаПолезноеКомандная строка (CMD)Примеры bat файлов

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

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

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

Название BAT файлы было получено за счет наличия указанного расширения. Запуск пакетных документов является аналогичным приложениям .EXE и .COM.

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

Именно её считывает и выполняет командный процессор DOS. Существует несколько доступных вариантов:

  • Особые команды для вывода определенных сведений или приложений на экран.
  • Осуществление вызова различных пакетных документов.
  • Работа с другими приложениями.
  • Особые команды, обеспечивающие создание ветвлений, а также циклов.

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

Допускается помещение внутрь пакетных документов всех существующих команд. Предполагается усложнение поставленных задач и даже создание условий. В этом деле оказывают поддержку команды goto, if и for. Требуется отметить autoexec.bat – файл необходим при осуществлении начальных настроек ОС в ходе запуска.

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

title Batch File Testing

echo Hello World

echo.

echo Starting Notepad

start notepad

echo.

echo Starting Wordpad

start Wordpad

echo.

pause

exit

После этого осуществляется сохранение документа и установка для него любого названия. Основным моментом требуется предусмотреть задание расширения CMD или BAT. После этого требуется выполнить запуск.

Происходит назначение окна с названием “Batch File Testing”. Работа указанного документа будет заключаться в том, чтобы открыть блокнот и выполнить запрос на нажатие любой клавиши.

Когда это сделано, окно закроется.

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

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

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

Задание паузы в файле BAT перед исполнением последующей команды

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

ping -n 1 -w 50000 123.123.123.254 >nul

Следует перечислить и расшифровать параметры:

n 1

Запрос будет исполняться только один раз

w 50000

Для ожидания ответа выбран интервал в 50.000 мс (50 секунд)

123.123.123.254

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

>nul

Производится перенаправление для выдачи в несуществующее место

Зацикливание в файле BAT выполнения команды

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

:loop

ping -n 1 -w 60000 123.123.123.254 >nul

start notepad.exe

goto loop

Происходит открытие блокнота каждую минуту.

Создание папки, имя которой устанавливается текущей датой

Папки данного вида популярны в качестве мест сохранения бэкапов. Необходимо рассмотреть основные методы создания.

MD %SYSTEMDRIVE%\%date:~-10%

Применение команды позволит создать новую папку и присвоить её название, соответствующее текущей дате.

Недостатком указанного подхода считается невозможность получения результата в определённых ситуациях.

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

md %systemdrive%\%date:~0,2%_%date:~3,2%_%date:~6,4%

или

md %systemdrive%\%date:~6,4%_%date:~3,2%_%date:~0,2%

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

@echo off

for /F “tokens=1-4 usebackq delims=. ” %%1 in (`date /t`) do set mydate=%%4.%%3.%%2

ren test.txt test%mydate%.txt

Это позволит изменить название документа с test.txt на test(гггг.мм.дд).txt

Запрет повторного запуска программ

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

pslist.exe -e “операция

if %errorlevel%==1 start “” “приложение

Здесь упоминается специальная программа pslist. Она является бесплатной и может быть свободно загружена из интернета.

Выполнение резервных копий в автоматическом режиме

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

rem *******************

rem задаём жесткий диск, где лежат папки для архивирования и винт куда будем бэкапить

rem *******************

SET DRIVE1ST=d:

SET DRIVE2ND=e:

rem *******************

rem пароль на архив

rem *******************

SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf

rem *******************

rem если копировать для надёжности куда-нибудь на сетку

rem *******************

rem SET COPYTO=\\shpakk\c$\!backup

rem ********************

rem *** Проверим путь назначения архива

rem ********************

%DRIVE1ST%

if not exist \!backup md \!backup

if not exist \!backup\Departments md \!backup\Departments

if not exist \!backup\Exchange md \!backup\Exchange

if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk

cd \!backup

rem ******************************

rem *** Backup \\SERVER\e$\Exchange

rem ******************************

SET DIRNAME=Exchange

SET FILENAME=SERVER_Exchange

SET SOURCEDIR=e:\Exchange

rar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*

if not exist %DIRNAME%\%FILENAME%_new.rar goto next2

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar

copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next2

rem ***************************

rem *** Backup \\SERVER\e$\Users

rem ***************************

SET DIRNAME=Departments

SET FILENAME=SERVER_Departments

SET SOURCEDIR=e:\Departments

if not exist %DIRNAME%\%FILENAME%_new.rar goto next3

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar

ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar

:next3

rem *******************

rem это если архив будет большим – кусками бить -v357888k

rem *******************

rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%

rem *******************

rem архивирование пошло, не берём мультимедиа файлы

rem *******************

rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%

goto next4

:next4

rem **********************************

rem *** Create repair disk on \\SERVER

rem **********************************

SET DIRNAME=MEDEA_rdisk

SET FILENAME=MEDEA_rdisk

SET SOURCEDIR=%windir%\repair

%windir%\system32\rdisk.exe /s-

rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*

if not exist %DIRNAME%\%FILENAME%_new.rar goto next5

del %DIRNAME%\%FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar

ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar

copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%

:next5

В итоге имеем 3 папки: Departments, в ней:

SERVER_Departments_2.rar – 2х дневной давности

SERVER_Departments_3.rar – 3х дневной давности

SERVER_Departments_4.rar – 4х дневной давности

SERVER_Departments_new.rar – НОВЫЙ

SERVER_Departments_old.rar – СТАРЫЙ Exchange

Так как архивируем обменник – он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы

SERVER_Exchange.rar

SERVER_Exchange_old.rar ну и систему на всякий в папке

SERVER_rdisk

SERVER_rdisk.rar

SERVER_rdisk_old.rar

Использование комментариев в файлах BAT

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

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

goto start

————————————–

Этот пакетный файл предназначен

для автоматизации рутинных операций,

выполняемых ночью для синхронизации

содержимого корпоративного ftp-сервера

с ftp-серверами филиалов

————————————–

Пакетный файл написан 01/01/2016

Источник: https://xn--80aa0aebnilejl.xn--p1ai/%D0%9F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0/bat_%D1%84%D0%B0%D0%B9%D0%BB%D1%8B_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.html

Как создать bat-файл в Windows 7/10 – редактируем и сохраняем батник

Batch файл

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

Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд.

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

Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу.

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

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

Как создать файл с расширением BAT

Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки.

Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса.

Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».

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

Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.

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

Как сделать 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 перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка 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 имеет много параметров, позволяющих очень гибко настраивать параметры копирования.

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

Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами.

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

Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.

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

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

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

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows.

Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу.

Вот и всё, скрипт будет запущен в положенное время.

https://www.youtube.com/watch?v=-_NleTGYE24\u0026list=PL35B3EFC3D6CD1DF7

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

Источник: https://viarum.ru/kak-sozdat-bat-fayl-v-windows/

Как создать пакетный файл BAT для выполнения в командной строке CMD

Batch файл

Batch (.bat) файл — это инструмент, который сэкономит вам не один десяток часов рабочего времени. Узнайте сейчас как использовать пакетный файл на практике.

Пакетный (BAT, batch) файл представляет собой инструмент, с которым сталкивался практически каждый пользователь Windows. Документ помогает выполнить ряд действий буквально парой кликов, а их список ограничивается лишь силой воображения и кодовым функционалом. Давайте разберем инструмент подробнее.

Что такое BAT файл?

Вы, должно быть, уже в курсе о существовании такой утилиты как “Командная строка” Windows, или CMD.

Она работает путем ввода команд в качестве входных данных и обрабатывает их, проводя нужные операции с компьютером.

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

Чтобы упростить процесс работы и сделать его более быстрым, Microsoft ввели посредника между “человеком” и “машиной”. Этим посредником стал пакетный файл (batch file). Запущенный на компьютере документ автоматически выполняет команды в CMD, ограждая пользователя от собственноручной работы. Процесс автоматизации назван пакетным сценарием (batch script).

Доступные форматы BAT файла:

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

В чем польза bat файла?

Автоматизация. Если раньше вам приходилось долго и нудно “вбивать” сложные коды в окно командной строки, пришло время расслабиться! BAT файл экономит время пользователя не только при работе с CMD, но и при взаимодействии с другими системами ПК.

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

Запланируйте отключение системы к моменту завершения установки и не опасайтесь за перерасход электроэнергии.

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

https://www.youtube.com/watch?v=kD8ioAb6JnY\u0026list=PL35B3EFC3D6CD1DF7

При создании BAT файла используется петля (for), условный оператор (if) и оператор управления (goto). Документ запускается либо с помощью командной строки, либо с помощью другого пакетного файла при использовании команды CALL.

Режимы BAT файла

Несмотря на то, что пакетный файл по умолчанию выполняет работу автоматически, вы можете настроить его так, что при выполнении конкретной операции он будет запрашивать подтверждение. Например, при вводе команды на отключение службы Windows, BAT файл спросит вас, уверены ли вы в своем решении. Этот режим называется интерактивным (interactive).

Другой режим называется пакетным (batch mode). Он работает в классическом стиле и самостоятельно выполняет запрограммированные функции.

Режимы пакетного файла:

  • Интерактивный.Полуавтоматический режим. Программа может запрашивать подтверждение операций.
  • Пакетный.Полная автоматизация работы.

Используйте разные режимы в зависимости от ситуации.

Как запустить BAT файл в Windows 10?

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

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

  • Откройте директорию в которой лежит пакетный файл.
  • Определите название файла.
  • Откройте командную строку.
  • Введите название документа с его расширением.Например: HelloWorld.bat

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

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

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

Основы создания BAT файлов

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

Базовые команды:

  • titleИспользуется для создания заголовка. Отображается в верхней части окна командной строки.
  • echoРежим вывода команд на экран. При включении, командная строка выведет на экран сообщение о совершенном действии. При отключении, соответственно, сообщения пропадут. Обратите внимание, что вам придется контролировать статус echo. Если команда активирована на строке 2 и вы решили отключить ее на строке 22, 20 промежуточных строк будут содержать включенный режим вывода команд.
  • pauseИспользуется для остановки процесса.
  • exitПозволяет закрыть командную строку.
  • clsИспользуется для очистки окна командной строки.
  • ::

Источник: https://zen.yandex.ru/media/starusrecovery/kak-sozdat-paketnyi-fail-bat-dlia-vypolneniia-v-komandnoi-stroke-cmd-5e031ab611691d00b00e3e1c

Написание bat файлов — примеры батников | Info-Comp.ru – IT-блог для начинающих

Batch файл

В данной статейки мы рассмотрим такую полезную вещь как «батник». Давайте сначала дадим определение, что такое bat файл.

Пакетные или batch файлы — это простые текстовые файлы, содержащие наборы команд (инструкцию) интерпретатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT).

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

Теперь Вы спросите, зачем нужно уметь писать такие бат файлы? И зачем они нужны? Попытаюсь объяснить.

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

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

Теперь перейдем непосредственно к основам этих батников. Как же они создаются, Вам нужно просто создать простой текстовый документ открыть его и сразу на вкладке «Файл->сохранить как», вписать вместо расширения «Текстовый документ.txt», например «Текстовый документ.bat» и сохранить, вот и получится у нас батник с расширением .bat, но он пока ничего не делает.

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

“C:\Program Files\WinRAR\winrar.exe” a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc “C:\Program Files\WinRAR\winrar.exe” a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls “C:\Program Files\WinRAR\winrar.exe” a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.txt

Теперь немного расскажу, что делает этот батник. Запускается WinRar, потом идут команды винрара:

  • a — это добавить в архив;
  • -r — обрабатывать вложенные папки;
  • -dh — открывать совместно используемые файлы;
  • -ed — не добавлять пустые папки;
  • YYYY-mm-dd — добавляем к имени архива текущую дату (формат даты);
  • E:\arhaccounts\ — путь, где будет лежать конечный архив;
  • d:\accounts\*.doc — путь и маска файлов, какие нужно заархивировать.

В данном случае мы архивируем все документы Word, Excel и текстовые файлы, архивировать остальные нам не требуется.

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

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

copy E:\arhaccounts\*.rar \amecomp\arhiv\

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

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

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

Del d:\file\test.doc

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

rd d:\file\

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

echo Y| del d:\file\

где,

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

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

@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 файлов (батников).

Продолжение темы в статье — BAT файлы – Примеры батников (Часть 2)

Источник: https://info-comp.ru/obucheniest/81--bat-.html

Пакетные BAT файлы

Batch файл

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

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

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

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

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

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

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

НО, если вы получили такой файл по почте, скачали из интернета (особенно с сомнительного сайта) и т.д., то запускать его следует только в том случае, если вы доверяете тому, кто этот файл написал и дал вам, либо понимаете, что делают все команды, которые прописаны в нем.

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

Поэтому к этому вопросу надо подходить со всей ответственностью и понимать, чем это может грозить.

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

@echo my first bat file @pause

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

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

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

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

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

Запустить .bat файл очень просто, это делается точно также, как и запуск .exe файлов. Для этого достаточно выделить нужный .bat файл в проводнике и дважды щелкнуть по нему левой кнопкой мыши.

Альтернативным вариантом запуска (чтобы случайно не запустить что то не то, например, в том случае, если в папке много файлов) может являться запуск bat файла в 2 этапа.

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

В нашем примере, мы переходим в папку test на диске C:\ и запускаем файл start.bat, который мы ранее написали.

После его выполнения на экран будет выведено две строки, как на скриншоте ниже:

результат выполнения файла start.bat

После нажатия любой клавиши окно закроется, т.к. bat-файл выполнен.
Обратите внимание, что символ собаки перед каждой командой в bat-файле указывает на то, что саму команду выводить на экран не надо, а нужно вывести только результат ее работы. Чтобы поэкспериментировать удалите символ собаки из начала каждой строки, сохраните и запустите полученный bat файл.
Описание и примеры использования некоторых самых популярных команд есть у нас на сайте, ознакомиться с ними можно по этой ссылке: Справочник команд Windows (CMD)

Список команд, которые можно использовать в bat-файлах, можно просмотреть, введя в командной строке команду help

В результате будет выведен список доступных команд и краткое описание к этим командам.

Для того, чтобы ознакомиться с описанием интересующей вас команды, необходимо в командой строке написать help команда. Например, чтобы получить подробную справку по команде copy, необходимо ввести:

help COPY

В результате, на экран будет выведена справка по команде COPY и доступные ключи.

Источник: https://sysadmin.ru/docs/windows/bat

Bat-файлы в примерах

Batch файл

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

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

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

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

Удаление временных файлов перед выключением компьютера

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

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

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

start /wait “” “C:\Program Files\CCleaner\CCleaner64.exe” /auto start /wait “” “C:\WINDOWS\System32\shutdown.exe” /s /t 10

Программа CCleaner по-умолчанию отсутствует в Windows. Её нужно установить отдельно. Скачать установщик можно на сайте разработчика.

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

Необходимо создать BAT-файл и скопировать этот пример в него. Ярлык на bat-файл вывести на рабочий стол, назначить ему красивую иконку и выключать компьютер при помощи этого ярлыка-кнопки.

Получить список файлов в папке с помощью Bat-файла

Периодически пользуюсь bat-файлами для получения списков файлов в папках. Частая ситуация: по работе клиенты присылают от фотографа архив с фотографиями. Фотографии имеют названия в соответствии с артикулами товаров.

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

  1. Фото товара с артикулом А1234.jpg
  2. Фото товара с артикулом А1234 (2).jpg
  3. Фото товара с артикулом В1234.jpg
  4. Фото товара с артикулом В1234 (2).jpg

Сначала я получаю список всех файлов, находящихся в папке при помощи следующей команды:

dir *.jpg /B /L > filelist.txt

Команда *.jpg позволит учитывать только JPG-файлы при составлении списка. Ключ /B позволит получить список, содержащий только имена файлов, находящихся в папке. Ключ /L выведет все имена в нижнем регистре. Команда >filelist.txt создаст текстовой файл с именем filelist и запишет резутьтат туда.

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

type filelist.txt | findstr /I /V “(2)” > temp.txt Команда findstr будет осуществлять поиск в ранее полученном файле. Ключ /I позволяет искать записи без учёта регистра, а ключ /V записывает строки, в которых отсутствует искомое совпадение. В кавычках указана строка, совпадение с которой нужно фиксировать. И последняя команда > temp.txt запишет в файл temp все результаты, не содержащие в имени “(2)”. В результате я получу:

  1. Фото товара с артикулом А1234.jpg
  2. Фото товара с артикулом В1234.jpg

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

Если вам понадобится провести обратную операцию – вывести в файл temp.txt только совпадения, то в списке команд (findstr /?) вы не найдёте нужной. Есть только обратный фильтр по точному совпадению – /X.

Для этой задачи можно воспользоваться командой вывода номера строк /N, в которых имеются совпадения (номера выводятся вместе со строкой):

type filelist.txt | findstr /I /N “(2)” > temp.txt

Главное при работе с текстовой информацией (текстовыми файлами) помнить один момент:

Если для текстовых операций вы в качестве исходника используете файл, который создали не через командную строку, он должен быть в кодировке, которая понимается командной строкой. Например, CP1251 (ANSI).

Иначе рискуете получить на выходе нечто такое:

Скопировать дерево каталогов без файлов

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

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

xcopy folder_1 folder_2 /T /E

Команда xcopy берёт за основу дерево каталога по адресу folder_1 и создаёт его копию в папке folder_2. Ключ /T позволяет осуществить копирование каталогов, не копируя файлы, лежащие в них. Ключ /E уточняет, что копировать необходимо все каталоги, в т.ч. пустые.

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

Посчитать количество файлов в каталоге

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

@echo off for /f %%i in ('dir /b /a-d') do set /a num+=1 echo in folder %num% files pause

В подобных примерах часто вставляют строку chcp 1251 > nul, но я предпочитаю выводить все данные в кодировке по-умолчанию. У создаваемых bat-файлов она обычно определяется как OEM(DOS).

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

После этого можно нажать любую клавишу и окно консоли закроется.

Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.

Источник: https://nevor.ru/stati/operacionnye-sistemy/stati-dlya-windows/bat-fajly-primery/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.