Как добавить значения в переменные пакетного сценария?

Я знаю, это может показаться глупым, но я новичок в пакетном сценарии, поэтому почти ничего об этом не знаю. Во всяком случае, я хочу изменить переменную; добавьте к нему 1, вот мой код:

@echo off
set num = 1
set num = %num% + 1
echo %num%
@echo on

легко, set /a num+=1 и, пожалуйста, удалите пробелы до и после = в стандартном set заявлении. то есть set "num=1" см. set /? из cmd

Gerhard 23.03.2022 05:16

yessss, спасибо! Я не понимаю, зачем убирать пробелы.

ArcadeSmasher 23.03.2022 05:20

позвольте мне опубликовать ответ.

Gerhard 23.03.2022 05:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, никогда не используйте пробелы в стандартном set до и после =. Это создаст переменную с пробелом в конце и значение с пробелом в начале. Так что технически у вас будут %num % и 1.

Чтобы продемонстрировать это, просто скопируйте все ниже и вставьте в подсказку cmd.

@echo off
set dummy = test
set dummy
echo %dummy%
echo %dummy %
@echo on

аналогично с:

@echo off
set num = 1
set num | findstr /v "NUMBER"
set /a num+=1
set num | findstr /v "NUMBER"
echo %num%
echo %num %
@echo on

приведет к двум переменным, %num % со значением 1 и %num% со значением 1

Результаты из вышеизложенного прояснят ваш вопрос в комментариях.

Чтобы решить свой арифметический вопрос, просто используйте переключатель /a, чтобы указать, что значения являются числовыми, и мы можем использовать операторы арифметической последовательности и т. д.

@echo off
set "num=1"
set /a num+=1
echo %num%

Другие вопросы по теме

Из пакетного файла мне нужно рекурсировать каталоги (и подкаталоги) и распаковать каждый найденный zip-файл в их текущий каталог с удалением архива
Пакетное открытие хрома на python
Как переместить 10 файлов Excel в 10 разных папок, созданных пакетным файлом
Как создать дистрибутивный zip-пакет из java-проекта в netbeans? содержащий .bat файл
Как экранировать специальные символы в пакетном файле при установке переменной
Пакетный файл Windows Infinite Loop зависает при запуске файла Python
Я не могу запустить скрипт autoit через планировщик задач во время входа в систему. Ни как летучая мышь, ни как exe. Они бегут сами по себе
Как правильно экранировать многострочный вывод плюс FOR плюс %PROGRAMFILES(X86)% plus pipe при сохранении в переменной
Как очистить буфер обмена Windows с помощью пакетного файла или PowerShell?
Как запустить программу python в фоновом режиме, чтобы сохранить активное окно таким же