Скрипт 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