Скрипт Batch - Переменные

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

Batch Script - Variables

Что такое переменные?

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

Аргументы командной строки

Давайте начнем с чего-то интересного – аргументов командной строки! Это как маленькие послания, которые мы можем отправить нашему скрипту Batch при его выполнении.

Пример 1: Привет, Имя!

@echo off
echo Привет, %1!

Сохраните это как greet.bat и запустите так: greet.bat Иван

Что происходит здесь? %1 в нашем скрипте заменяется первым аргументом, который мы предоставляем (в этом случае, "Иван"). Таким образом, скрипт будет говорить "Привет, Иван!"

Пример 2: Множественные аргументы

@echo off
echo Первый аргумент: %1
echo Второй аргумент: %2
echo Третий аргумент: %3

Сохраните это как args.bat и запустите так: args.batapple banana cherry

Этот скрипт будет отображать:

Первый аргумент: apple
Второй аргумент: banana
Третий аргумент: cherry

Каждый %n (где n – это номер) представляет аргумент в том порядке, в котором они предоставлены.

Команда set

Команда set – это наша волшебная палочка для создания переменных в скриптах Batch. Давайте посмотрим, как она работает!

Пример 3: Создание простой переменной

@echo off
set message=Привет, мир!
echo %message%

Когда вы запустите этот скрипт, он будет отображать "Привет, мир!". Команда set создает переменную с именем message и присваивает ей значение "Привет, мир!". Мы затем используем %message%, чтобы отображать ее содержимое.

Пример 4: Ввод пользователя

@echo off
set /p name=Какое ваше имя?
echo Приятно познакомиться, %name%!

Флаг /p с set позволяет нам запросить ввод у пользователя. Этот скрипт спрашивает имя пользователя и затем здоровается с ним.

Работа с числовыми значениями

Скрипты Batch могут также работать с числами! Давайте рассмотрим некоторые математические операции.

Пример 5: Основная арифметика

@echo off
set /a result=5+3
echo 5 + 3 = %result%

set /a result=10-4
echo 10 - 4 = %result%

set /a result=6*2
echo 6 * 2 = %result%

set /a result=15/3
echo 15 / 3 = %result%

Флаг /a говорит set, что мы работаем с арифметикой. Этот скрипт демонстрирует сложение, вычитание, умножение и деление.

Пример 6: Более сложные вычисления

@echo off
set /a result=(10+5)*2
echo (10 + 5) * 2 = %result%

set /a result=20%%3
echo 20 %% 3 = %result%

Здесь мы используем скобки для порядка операций и %% для остатка после деления.

Локальные vs глобальные переменные

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

Пример 7: Глобальные и локальные переменные

@echo off
set global_var=Я глобальный!

setlocal
set local_var=Я локальный!
echo Внутри блока: %local_var%
echo Глобальная переменная: %global_var%
endlocal

echo За пределами блока: %local_var%
echo Глобальная переменная: %global_var%

Этот скрипт демонстрирует, как локальные переменные доступны только внутри своего блока (между setlocal и endlocal), в то время как глобальные переменные могут быть доступны везде.

Работа с переменными окружения

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

Пример 8: Отображение переменных окружения

@echo off
echo Ваше имя пользователя: %USERNAME%
echo Ваш домашний каталог: %USERPROFILE%
echo Текущая дата: %DATE%
echo Текущее время: %TIME%

Этот скрипт отображает некоторые.common переменные окружения. Windows предоставляет нам множество таких переменных для использования.

Пример 9: Создание пользовательских переменных окружения

@echo off
setx MY_CUSTOM_VAR "Привет из окружения!"
echo %MY_CUSTOM_VAR%

Команда setx создает постоянную переменную окружения. Замечание: вам может потребоваться открыть новый командный ряд, чтобы увидеть изменения.

Заключение

Поздравления! Вы только что сделали свои первые шаги в мир переменных скриптов Batch. Помните, что практика делает perfect, так что не бойтесь экспериментировать с этими примерами и создавать свои собственные скрипты.

Вот quick таблица справки команд, которые мы выучили:

Команда Описание
%n Доступ к аргументам командной строки
set Создание или изменение переменных
set /p Создание переменных с вводом пользователя
set /a Выполнение арифметических операций
setlocal Начало блока локальных переменных
endlocal Окончание блока локальных переменных
setx Создание переменных окружения

Счастливого программирования и пусть ваши переменные всегда будут хорошо определены!

Credits: Image by storyset