Cmd bat

Содержание

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

Cmd bat
страницаПолезноеКомандная строка (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 и *.cmd)

Cmd bat

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

Пакетные файлы (*.cmd или *.bat) могут быть выполнены на различных стадиях установки Windows. Использование пакетных файлов помогает автоматизировать выполнение нескольких заданий. При этом никакого вмешательства пользователя не требуется.

Эти файлы могут быть выполнены из cmdlines.txt, svcpack.inf, RunOnceEx раздела в реестре, или из секции [GuiRunOnce] в файле winnt.sif. Мы подробнее разберем различные варианты чуть позже.

Типичное содержимое пакетного файла

Пакетные файлы поддерживают все команды, которые могут быть выполнены из командной строки. Чтобы увидеть командую строку достаточно проделать следующее: Пуск->Выполнить->cmd->ОК

Давайте попробуем сделать простенький пакетный файл. Откройте Блокнот и скопируйте туда следующий текст:

title Batch File Testingecho Hello Worldecho.echo Starting Notepadstart notepadecho.echo Starting Wordpadstart Wordpadecho.pause

exit

Сохраните файл с любым именем и в любом месте. Убедитесь, что вы назначили расширение *.cmd (а не .txt, которое Блокнот присвоит по умолчанию). Теперь запустите ваш файл. Вы увидите, что он назначит окну имя “Batch File Testing”, запустит Блокнот и WordPad, попросит нажать любую клавишу для продолжения работы и закроет окно.

Что означают команды, использованные в данном файле?

@echo offСкрывает строку C:\> и все команды, используемые в пакетном файле
echo.Создает пробел между строками
echo messageОтображает сообщение в окне, исключительно с информационными целями
titleНазвание окна
startЗапускает приложение или установочный процесс
pauseОтображает сообщение “Press any key to continue…” (“Нажмите любую клавишу для продолжения…”)
exitЗакрывает командную строку

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

start /wait %systemdrive%\install\some_application\setup.exe /ключ /еще ключ

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

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

Изменение цветовой гаммы

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

0 = Черный8 = Серый
1 = Синий9 = Светло-синий
2 = ЗеленыйA = Светло-зеленый
3 = ГолубойB = Светло-голубой
4 = КрасныйC = Светло-красный
5 = ЛиловыйD = Светло-лиловый
6 = ЖелтыйE = Светло-желтый
7 = БелыйF = Ярко-белый

Таким образом, для ярко-белого шрифта и голубого фона вы используете color 9F.

Чтобы посмотреть, как это выглядит на практике, скопируйте текст в блокнот и сохраните файл как colors.cmd.

cls@echo offTitle Graphics group is being installed nowcolor 9FECHO Adobe Photoshop 7.0ECHO ACDSee 6.0.3PAUSETitle Internet group is being installed nowcolor 57ECHO Stay Connected! 3.5ECHO MSN Messenger 6.2PAUSE

EXIT

Примечание: команда PAUSE дана исключительно для того, чтобы можно было рассмотреть все получше. В реальном файле установка пойдет без остановки. В данном примере подается идея группировки приложений по типу (Графика, Интернет) и назначения им различных цветовых групп. Чтобы очистить экран перед каждой группой можно вставлять @CLS перед строкой Title.

cmdlines.txt, svcpack.inf и [GuiRunOnce]

Пакетные файлы могут быть запущены из cmdlines.txt или svcpack.inf, которые будут исполнены на Т-13/Т-12 этапе установки Windows (Т-13 означает 13 минут до окончания установки).cmdlines.

txt удобен для таких задач как Добавление Пользователей, или для импортирования заранее подготовленных ключей реестра HKEY_CURRENT_USER в профиль по умолчанию (Default Profile). Подробнее о cmdlines.

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

Метод svcpack.inf, как правило, используется для установки обновлений (хотфиксов). Однако ничто не мешает рассматривать пакетный файл как еще один хотфикс.

Пример пакетного файла, запущенного из [GuiRunOnce] (скриншот).

Как вы видите, здесь используется комбинация ECHO и ECHO Message. Делать это не обязательно, но рекомендуется, т.к. дает возможность видеть, как происходит процесс инсталляции приложений в реальном времени. [GuiRunOnce] запускается при первом входе в систему.

Пример содержимого пакетного файла:

@echo offTITLE Windows XP SP2 – Unattended InstallationECHO.ECHO Over the next few minutes you will see automated installationsECHO of various sofware applications, and registry tweaks beingECHO implemented.ECHO.ECHO Removing Wallpapers and Screensavers…DEL “%systemroot%\*.bmp”DEL “%systemroot%\Web\Wallpaper\*.jpg”DEL “%systemroot%\system32\dllcache\*.scr”DEL “%systemroot%\system32\*.scr”ECHO.ECHO Removing useless shortcuts…DEL “%systemdrive%\Documents and Settings\All Users\Start Menu\WindowsUpdate.lnk”DEL “%systemdrive%\Documents and Settings\All Users\Start Menu\SetProgram Access and Defaults.lnk”DEL “%systemdrive%\Documents and Settings\All Users\Start Menu\WindowsCatalog.lnk”ECHO.ECHO Installing TweakUI 2.10 PowertoyECHO Please wait…start /wait %systemdrive%\Install\TweakUI.msi /qnECHO.ECHO Applying Registry Tweaks…REGEDIT /S %systemdrive%\Install\RegTweaks.regECHO.ECHO Deleting ASP.NET User Account created by .NET Framework 1.1…net user aspnet /deleteECHO.EXIT

Он производит удаление обоев и скринсэйверов, устанавливаемых по умолчанию системой, а также некоторых ярлыков. Затем устанавливает TweakUI, импортирует ключи реестра и удаляет учетную запись ASP.NET, созданную при установке .NET Framework. Более содержательный файл вы можете посмотреть на странице примеров.

Куда положить пакетные файлы? 

  • O [GuiRunOnce] рассказывает отдельная небольшая статья в разделе Справочник.
  • cmdlines.txt нужно положить в корень папки $OEM$, и Windows автоматически найдет его во время установки. Чтобы не указывать путь к пакетным файлам, запускаемым из cmdlines.txt, они должны находиться в той же папке, что и cmdlines.txt.
  • svcpack.inf кладется в директорию I386 на вашем инсталляционном диске (не забудьте удалить svcpack.in_ оттуда). Все пакетные файлы, запускаемые изsvcpack.inf, должны находиться в директории I386\svcpack, если только это не прописано иначе в самом файле.

Источник: http://www.oszone.net/2245

Работа с bat-файлами. | База полезных знаний

Cmd bat

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

В этом FAQ собраны рекомендации, которые были протестированы на Windows 2000. Некоторые команды и переменные, использованные при написании примеров, отсутствуют в 9х.

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

Откройте блокнот и наберите две следующих строки:

@echo This batch file
@pause

Выберите Файл – Сохранить как, выберите Тип файла – Все файлы, в поле Имя файла введите 1.bat и сохраните его в корне диска С, например. Теперь откройте диск С и запустите файл 1.bat. На экран будет выведено две строки.

This batch file
Нажмите любую клавишу для продолжения…

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

Команды, используемые в bat файлах

Список команд, которые можно использовать в bat файлах, можно просмотреть, введя в командной строке (Пуск – Выполнить – cmd для Windows семейтва NT или Пуск – Выполнить – command для линейки 9х) команду

help

Результат работы help – список доступных команд с краткими пояснениями к ним. Чтобы получить более подробную информацию по интересующей команде введите в командной строке help имя_команды. Например, чтобы получить подробную справку по ключам команды AT выполните следующую команду:

help AT

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

Если bat файл исполняется под управлением Windows (не в чистом DOS-е), то из него можно запускать любые приложения или открывать файлы.

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

start имя_файла.txt

Результатом выполнения этой команды станет открытие файла имя_файла.txt, а сам bat файл завершит свою работу. Такой способ хорош, если лог-файл небольшого размера, иначе Блокнот откажется его открывать, предложив использовать WordPad. Но эта проблема так же решаема, что и будет показано в дальнейших примерах.

Как автоматизировать запуск bat файлов

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

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

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

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

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

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

@echo Start file>C:\1.txt

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

set datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Эти две строки работают следующим образом. Сначала в памяти создаем переменную datetemp, которой присваиваем 10 символов справа налево от системной переменной DATE.

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

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

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

@echo .>C:\FolderName\%COMPUTERNAME%.txt

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

Как создать папку из bat файла

Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:

MD FolderName

После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так:

MD D:\FolderName

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

MD D:\%USERNAME%

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

MD %SYSTEMDRIVE%\%USERNAME%

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

set datetemp=%date:~-10%
MD %SYSTEMDRIVE%\%datetemp%

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

Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева – имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.

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

Получить список всех переменных можно при помощи команды SET.

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

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

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

Создайте bat-файл следующего содержания (скопируйте эти строки в Блокнот и сохраните файл с расширением bat):

@echo offecho Start %time%echo Create test.txtecho test>C:\test.txtecho Copy Test.txt to Old_test.txtcopy C:\test.txt C:\Old_test.txt

echo Stop %time%

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

txtКоманда из четвертой строки создает файл test.txt с корне диска С. Файл создается для примера. Эта команда записывает в файл C:\test.txt слово testПятая строка выводит в лог-файл пояснение, что следующая команда выполняет копирование файла из одного места в другое.

Команда в шестой строке копирует созданный файл C:\test.txt в файл C:\Old_test.txt, т.е. создается копия файла под новым именем.

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

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

Сохраните этот пакетный файл под именем, например, 1.

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

Причем, имя лог-фала хотелось бы иметь в виде даты работы пакетного файла. Чтобы все это реализовать создадим на диске С (например) папку с именем LOG, т.е. полный путь к ней будет выглядеть C:\LOG. Созданный пакетный файл 1.bat будем запускать следующей командой:

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

Если пакетный файл будет запускаться из Планировщика, то нужно указать полный путь с bat-файлу. Помните, что если в пути есть пробелы, то надо использовать либо кавычки, либо формат 8.3. Т.е., если путь к bat-файлу C:\Program Files\1.bat, например, то в командной строке Планировщика для запуска bat-файла нужно указать одну из следующих строк:

“C:\Program Files\1.bat”>C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

После запуска файла 1.bat в папке C:\LOG будет создан файл с именем, равным дате запуска bat-файла, например, 13.01.2004.txt Это и будет отчет о работе пакетного файла 1.bat
Запуск bat-файла, пример которого показан в первом листинге вверху страницы, указанной выше командой, приведет к созданию лог-файла такого содержания:

Start 19:03:27,20Create test.txtCopy Test.txt to Old_test.txtСкопировано файлов: 1.

Stop 19:03:27,21

Таким образом, для выполнения перенаправления результатов работы bat-файла в лог-файл нужно использовать символ перенаправления > Синтаксис таков:

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

Источник: https://datbaze.ru/article/rabota-s-bat-faylami.html

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ)

Cmd bat

Хэллоу пикабушник. Я хочу, чтобы ты понял весь программный язык cmd(bat) на понятном языке. Ну, давай приступим?

Для начала Разберем, что такое cmd(bat) и с чем его едят?

Cmd.exe — интерпретатор командной строки ИНТЕРПРЕТАТОР – Тот, кто интерпретирует что-нибудь. ИНТЕРПРИРОВАТЬ Истолковать -вывать раскрыть -ывать смысл чего-нибудь, объясняя.

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

Как открыть командную сроку(cmd.exe)

нажмите сочетание клавиш WIN+R, введите cmd и нажмите кнопку Ok;нажмите кнопку «Пуск» введите в поле поиска «командная строка» и щелкните в результатах поиска «Командная строка» (можно ввести «cmd» и выбрать в результатах «cmd»);нажмите «Пуск» ⇒ «Все программы» ⇒ «Стандартные» ⇒ «Командная строка»;

открыть в Проводнике папку C:\Windows\System32 и запустить файл cmd.exe.

И так, давайте создадим на рабочем столе текстовый документ, а далее впишем в него

@Echo

Для вывода сообщения в BAT файлах используется команда echo: Вывод сообщений и переключение режима отображения команд на экране. ECHO [ON. OFF] ECHO [сообщение] Ввод ECHO без параметров позволяет выяснить текущий режим отображения команд.

В данном случае напишем @Echo off

После напишем такую строку A: Что это такое? Это так сказать, строка, позволяющая делать оборот(обратно выполнять функции,команды после этой строки)

Далее после A: напишем, echo HELLO MY FRIEND (тут вышла ошибочка, пишем :A, а не A: )

echo – команда, позволяющая показывать сообщения, в моем случае это “HELLO MY FRIEND

После давайте напишем команду, которая будет открывать окно, в данном случае это команда “Start”

Команда START – запуск приложения в новом окне

Команда START позволяет запускать приложения в отдельном окне, с возможностью указания некоторых параметров их выполнения.

Формат командной строки:

START [“заголовок”] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | REALTIME| /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [команда/программа] [параметры]

Параметры командной строки:

“заголовок” – заголовок окна. Обязательно в двойных кавычках.

путь – рабочий каталог.

B – запуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно, единственным способом его прерывания является использование сочетания клавиш CTRL+Break.

I – Новой средой станет исходная среда, переданная cmd.exe, а не текущая среда.

MIN – Запуск команды/программы в свернутом окне.

MAX – Запуск команды/программы в развернутом окне.

SEPARATE – Запуск 16-разрядной программы Windows в отдельной области памяти.

SHARED – Запуск 16-разрядной программы Windows в общей области памяти.

LOW – Запуск приложения с приоритетом IDLE (самый низкий приоритет).

NORMAL – Запуск приложения с приоритетом NORMAL.

HIGH – Запуск приложения с приоритетом HIGH.

REALTIME – Запуск приложения с приоритетом REALTIME (самый высокий приоритет).

WAIT – Запуск приложения с ожиданием его завершения.

ABOVENORMAL – Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)

BELOWNORMAL – Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)

команда/программа – Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.

Но давайте напишем start http://google.com – при данное команде, будет открываться гугл.

После напишем echo I KILLED YOUR WINDOWS (Мини шуточка пхпх) – команда которая будет выводить текст. И на последок пишем goto A (для работы круга)

Вот как все это должно выглядеть

Нажимаем “Файл” “Сохранить как”  Рабочий стол

Тип файла выбираем “Все файлы” и к названии вашего файла(в моем случае пикабу) приписываем .bat

Все, теперь открываем и проверяем!

Теперь можем видеть такую картину:

в вк вы можете попросить меня скинуть вам немножко жоще батник xD

.com/sasukesama

Источник: https://pikabu.ru/story/uchenie_osnov_cmdbat_dlya_novichkov_5573579

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

Cmd bat

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

Первая операционная система 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-файлу.

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

И напоследок ещё один интересный момент. Когда вы запускаете 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

Cmd bat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При создании 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

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

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

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