Скрипт Batch - Операторы

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

Batch Script - Operators

Арифметические операторы

Давайте начнем с чего-то знакомого: математики! Арифметические операторы в 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