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

Арифметические операторы
Давайте начнем с чего-то знакомого: математики! Арифметические операторы в Batch Script работают так же, как и те, что выучили в школе. Они помогают нам выполнять вычисления в наших скриптах.
Вот таблица арифметических операторов, которые мы будем использовать:
| Оператор | Описание | Пример | 
|---|---|---|
| + | Сложение | 5 + 3 | 
| - | Вычитание | 7 - 2 | 
| * | Умножение | 4 * 6 | 
| / | Деление | 8 / 2 | 
| % | Остаток от деления | 9 % 4 | 
Теперь посмотрим, как эти операторы работают в коде:
@echo off
set /a result=5+3
echo 5 + 3 = %result%
set /a result=7-2
echo 7 - 2 = %result%
set /a result=4*6
echo 4 * 6 = %result%
set /a result=8/2
echo 8 / 2 = %result%
set /a result=9%%4
echo 9 %% 4 = %result%
Когда вы запустите этот скрипт, вы увидите результаты каждого вычисления. Команда set /a говорит Batch, что мы выполняем арифметические действия. Обратите внимание, как мы используем %% для оператора остатка в скрипте – это потому, что один % имеет особое значение в Batch, поэтому мы должны его экранировать еще одним %.
Реляционные операторы
Следующие, у нас есть реляционные операторы. Это как сравнения, которые вы делаете каждый день: Это больше, чем то? Эти две вещи равны? Давайте посмотрим на наши варианты:
| Оператор | Описание | Пример | 
|---|---|---|
| EQU | Равно | 5 EQU 5 | 
| NEQ | Не равно | 4 NEQ 5 | 
| LSS | Меньше | 3 LSS 4 | 
| LEQ | Меньше или равно | 3 LEQ 3 | 
| GTR | Больше | 5 GTR 4 | 
| GEQ | Больше или равно | 5 GEQ 5 | 
Вот скрипт, который использует эти операторы:
@echo off
set num1=5
set num2=3
if %num1% EQU %num2% (
echo The numbers are equal
) else if %num1% GTR %num2% (
echo %num1% is greater than %num2%
) else (
echo %num1% is less than %num2%
)
Этот скрипт сравнивает num1 и num2, а затем рассказывает нам о их отношении. Запустите его и посмотрите, что произойдет!
Логические операторы
Логические операторы помогают нам combine условия. Представьте их как "и", "или" и "не" в вашем повседневном языке.
| Оператор | Описание | Пример | 
|---|---|---|
| AND | Логическое И | condition1 AND condition2 | 
| OR | Логическое ИЛИ | condition1 OR condition2 | 
| NOT | Логическое НЕ | NOT condition | 
Давайте используем их в скрипте:
@echo off
set age=25
set hasLicense=true
if %age% GEQ 18 (
if "%hasLicense%"=="true" (
echo You can drive a car
) else (
echo You're old enough, but you need a license
)
) else (
echo You're too young to drive
)
Этот скрипт проверяет, достаточно ликому-то лет для вождения И имеет ли он права. Это как условия, которые вы проверяете перед тем, как передать свои ключи от машины!
Операторы присваивания
Операторы присваивания – это то, как мы даем значения переменным. В Batch мы в основном используем команду set для этого.
@echo off
set name=John
echo My name is %name%
set /a number=10
set /a number+=5
echo Number is now %number%
Здесь мы присваиваем имя "John" переменной name, а затем используем /a для арифметического присваивания с number.
Битовые операторы
Lastly, we have bitwise operators. These work on the binary representations of numbers. They're a bit advanced, but let's take a peek:
| Оператор | Описание | Пример | 
|---|---|---|
| & | Битовое И | 5 & 3 | 
| | | Битовое ИЛИ | 5 | 3 | 
| ^ | Битовое XOR | 5 ^ 3 | 
Вот простой пример:
@echo off
set /a result=5&3
echo 5 & 3 = %result%
set /a result=5|3
echo 5 | 3 = %result%
set /a result=5^3
echo 5 ^ 3 = %result%
Эти операции работают с двоичными (основание-2) представлениями чисел 5 (101) и 3 (011).
И вот и все! Мы рассмотрели все основные операторы в Batch Script. Помните, ключ к maîtriser их – это практика. Попробуйте писать свои собственные скрипты, экспериментируйте с различными операторами и не бойтесь ошибаться – так мы учимся!
За годы преподавания я заметил, что студенты, которые excel, это те, кто не боится играть с кодом. Так что вперед, будьте любопытны и получайте удовольствие от работы с Batch Scripting. Before you know it, вы будете писать сложные скрипты и впечатлять всех своими навыками программирования!
Credits: Image by storyset
