Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переменная

Ответить
Настройки темы
CMD/BAT - Переменная

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите пожалуйста
chcp 1251>nul 2>&1
echo off
set 123=456 :: Переменная
pause
if %123%==456 (echo 1) else (echo 2) :: Выводит 2
pause
В этом коде есть переменная, но когда я прописываю код с выводом этой переменной, то показывает как-будто этой переменной небыло. В консоле всё прекрасно работало, я делал переменную прописывал if %123%==456 (echo 1) else (echo 2)
и мне выводило 1, а в bat файле всё наоборотi

Отправлено: 01:48, 14-01-2021

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


RuslanGr, потому что Вы используете кривой код.

Во-первых, не используйте в именах собственных переменных окружения гольные цифры. Во-вторых, не забывайте, что пробел в присвоениях тоже значимый символ. В треьих, не пытайтесь пользовать :: в виде недокомментариев — оно для того не предназначено.
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:43, 14-01-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


RuslanGr,
Код: Выделить весь код
@Echo Off
	Set "123=456"
	Echo "%123%"
В ответе "23". Смею предположить, что %123% рассматривается как %1(то есть как передаваемый в батник параметр а его здесь нет, он пустой) и всё остальное.
Как подтверждение:
Код: Выделить весь код
@Echo Off
	Set "0123=456"
	Echo "%0123%"
В ответе: "имябатника.bat123"
Цитата Iska:
не используйте в именах собственных переменных окружения гольные цифры »
Соблюдайте законы: божеские, государственные, мануалы и будет всё безопаснее и для Вас и для окружающих

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:54, 14-01-2021 | #3


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


RuslanGr, нежелательно чтобы имя переменной начиналось с цифры, еще хуже состояло только из цифр и совсем плохо из одной цифры (также надо исключить имя bat файла, имена команд и утилит cmd)
Код: Выделить весь код
@echo off
set "123=456"
cmd /v/c echo "!123!"
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:24, 16-01-2021 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переменная

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - переменная durexx Скриптовые языки администрирования Windows 1 27-08-2011 10:18
VBS/WSH/JS - [решено] русская переменная Kobzar Скриптовые языки администрирования Windows 7 05-01-2011 14:25
2008 R2 - Загадочная Системная переменная GreyAngel Windows Server 2008/2008 R2 1 03-07-2010 09:44
CMD/BAT - [решено] Два файла - как одна переменная, переменная - как параметр taravasya Скриптовые языки администрирования Windows 6 16-02-2010 04:49
Глобальная переменная 11943499 AutoIt 9 23-07-2009 20:58




 
Переход