- Batch script для начинающих
- Что такое батники и с чем их едят
- Первая программа и основные команды
- Наводим красоту
- Переменные
- Подробнее о переменных
- Циклы и условия
- Руководство Batch для начинающих
- 1- Что такое язык batch?
- 2- Пример начала с Batch
- View more Tutorials:
- Написание bat файлов — примеры батников
- Примеры команд для bat файлов
Batch script для начинающих
Мне 12 и я сам в этой теме плохо шарю, т.к. инфы в инете мало. Пж, без хейта.
Что такое батники и с чем их едят
Пакетный файл или в простонародье батник — это файл, который запускает командную сроку или сокращенно cmd, которая построчно интерпретирует команды, записанные в нем. Подробнее смотрите на https://ru.wikipedia.org/wiki/Пакетный_файл.
Первая программа и основные команды
Чтобы сделать батник, нужно сначала создать текстовый файл с именем test и изменить расширение c .txt на .bat. О том, как можно это сделать, читайте здесь: https://remontka.pro/file-extensions. У вас должен появиться файл с такой иконкой:
Нажимаем на него ПРАВОЙ кнопкой мыши. Должно появиться диалоговое окно. Нажмем «Открыть». Должен открыться блокнот, пишем:
@echo off echo Hello world! pause
В 1-ой сроке («@echo off») префикс ‘@ ‘ означает, что команда не будет выведена на экран(попробуйте его убрать 🙂 ), сама же команда (echo) выводит текст следующий за ней(см. строку 2), НО, если подать строку «off», все последующие команды будут действовать так, как будто перед ними стоит префикс ‘@’, «echo on», соответственно, выключает этот режим. Чтобы вывести символ «%», его нужно дублировать, потом поймете почему :-), для вывода пустой строки поставьте «.» после «echo»
В 3-ей строке команда выводит строку «press any key to continue . . .» (если у вас русский язык — «Для продолжения нажмите любую клавишу . . .») и останавливает программу до нажатия любой клавиши.
Наводим красоту
не делает ничего и служит комментарием к коду
rem Это самая лучшая прога в мире.
Код включает русские символы и другие из ascii(например: «╬▓☼», можно скопировать с http://pascalguru.ru/psevdograf.html), иначе ascii символы превратятся в кракозябры:
Следующий код код работает, как команда «pause», но ничего не выводит на экран и не реагирует на нажатие клавиш(я потом объясню, как это работает).
А этот — меняет заголовок окна на «name»
Эта команда меняет цвет фона и текста, вместо a и b можно поставить любые шестнадцатеричные цифры(команда не сработает если a = b) см. таблицу ниже. Запись c одной буквой «а» аналогично записи «0a»
Эта — досрочно завершает программу
Переменные
Создать переменную можно с помощью команды set, синтаксис объявления следующий: P.S. это не совсем переменные, это скорее макросы (для тех к кто не знает C/C++ это именованный кусочек кода, имя которого заменяется на этот кусочек кода)
Если после «set» добавить флаг «/a» то:
- Переменной задастся значение выражения, а не его текст, например:
Чтобы обратиться к переменной, нужно окружить ее символами «%» (так %name%), пример кода:
Подробнее о переменных
Если добавить флаг «/p», то выводиться значение после символа » bash»>@echo off set /p a=Enter str echo %a% pause
следующий код вырезает строку от символа номер «a» до символа номер «b» НЕ включительно(счет идет с нуля, отрицательные числа — счет с конца от единицы). Если аргумент один, то он присваивается числу «b», а «a» = 0
следующий заменяет подстроки «a» в строке на строки «b»:
Циклы и условия
Цикл можно создать с помощью команды «for», синтаксис следующий:
(a b c) это список (не обязательно из 3-х элементов) и переменная %%i (нужно ставить символ после процентов, а не между) по очереди проходит по значениям в списке
Если добавить флаг «/l», то переменная в первый раз будет равна «a». К ней каждый раз будет прибавляться «b», пока она не станет больше «c»(тут размер ДОЛЖЕН равняться 3)
запустите этот код, тут все наглядно
@echo off chcp 65001 echo Начало for /l %%i in (1 1 10) do echo %%i echo Конец pause
Команда if выполняет код, если условие верно (или если поставить not после if, когда НЕ верно), вот операторы сравнения:
P.S. строки нужно брать в кавычки «%str%»==»Hello»
Руководство Batch для начинающих
Следуйте за нами на нашей фан-странице, чтобы получать уведомления каждый раз, когда появляются новые статьи.
Facebook
1- Что такое язык batch?
Batch является языком программирования, используется для создания файлов сценарий которые можно выполнять на операционной системе Windows, обычно эти файлы имею окончание *.bat или *.cmd. При выполнении они открывают окно «Command Prompt», обычно это окно имеет черный фон, белый шрифт.
Файлы batch (*.bat, *.cmd) называются файлами сценарий (script file), они могут содержать команды вмешивающиеся в операционную систему.
Заметьте еще один язык похожий на batch, но использующийся для операционной системы Linux это Shell, с файлами сценарий с окончанием *.sh.
2- Пример начала с Batch
Batch использует @rem чтобы начать строку комментария (Comment), строка комментария используется для записи цели строк команд в программе,и они пропускаются когда выполняется команда.
Чтобы начать с языком Batch, мы создаем файл с названием hello.bat, и пишем команды печатающие на экране строку «Three», «Two», «One», «Hello World!».
@rem My First Batch file! @echo off echo Three echo Two echo One echo Hello World! pause
Вы тоже можете выполнить файл Batch из CMD. Открыть программу CMD и CD к папке, содержащей файл необходимый для выполнения.
Команда | Описание |
echo | Распечатать строку на экране |
pause | Приостановить программу, и ждать когда пользователь нажмет на Enter для продолжения. |
Команда @echo off используется для отключения режима отображения command prompt (напоминание). Данный режим включен (on) по умолчанию. Посмотрим разницу между @echo off и @echo on по изображению ниже:
View more Tutorials:
Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.
Complete Python Web Course: Build 8 Python Web Apps
AWS Lambda and Kinesis in Action
Administering Microsoft SQL Server 2012 Databases — 70-462
Learn Bootstrap 4 Responsive Web Development
NodeJs: Building REST APIs From Scratch
C++ Intermediate: Build C++ Programs
* * Basic Swift 4 and iOS 11 — Free Preview
Ultimate HTML and CSS course for Absolute Beginners 2015
Swift — Learn by doing
Learning AngularJS Testing
Java, JSP and JDBC programming guides for complete BEGINNER
* * Introductory To JavaScript — Learn The Basics of JavaScript
PostgreSQL For Beginners
Java Spring and Hibernate:create a crud application
JavaScript — Start Developing Applications in 2 Hours Free!
C# Basics — Learn Coding & Programming for Beginners
Learn JavaScript for Web Development
Bootstrap 4.0 In Action: Build A Responsive Website
Oracle APEX Techniques
Learning Path: Spring and Spring Boot Projects
Mastering Thymeleaf with Spring Boot
Spring Boot Microservices with JPA
Web Programming with Python
How to Program in C++ from Beginner to Professional
Understanding JDBC with PostgreSQL (A step by step guide)
Написание bat файлов — примеры батников
В данной статейки мы рассмотрим такую полезную вещь как «батник». Давайте сначала дадим определение, что такое 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 \\namecomp\arhiv\
Примеры команд для bat файлов
Теперь рассмотрим основные команды, которые Вы можете использовать.
Если Вам нужно удалить файл пропишите следующие:
Для того чтобы удалить весь каталог пропишите:
Вдруг Вам нужно удалять каждый раз все из какого-нибудь каталога, то используйте вот что:
- 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 файлов (батников).