Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - if кавычки (разночтение одна кавычка или много кавычек)

Старожил


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

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


Изменения
Автор: shadowbat
Дата: 27-04-2023
подскажите как так получается, что ниже в двух случаях зеркально работает только одна строка из двух?

if работает по разному в двух разных случаях по этим двум причинам?:
1. в переменной только 2 обрамляющие кавычки
2. в переменной есть кавычки помимо обрамляющих
или от чего это зависит?
Код: Выделить весь код
chcp 1251
@echo off

set str="0123456789"
if ^%str:~0,4%==^"012 (echo первая кавычка ^"012)
::if %str:~0,4%==^"012 (echo первая кавычка ^"012) - так не работает

set str="0"1"2"3"4"5"6"7"8"9"
::if ^%str:~0,4%==^"0^"1 (echo много кавычек) - так не работает
if %str:~0,4%==^"0^"1 (echo много кавычек)

pause

Отправлено: 13:04, 27-04-2023

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Set str1="0123456789"
	Set str11=%str1:"=!%
	If %str11:~0,4%==!012 Echo kuku1 

	Set str2="0"1"2"3"4"5"6"7"8"9"
	Set str21=%str2:"=!%
	If %str21:~0,4% EQU !0!1 Echo kuku2
pause
Exit /B

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

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

Отправлено: 15:39, 27-04-2023 | #2



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

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


Старожил


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

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


Цитата megaloman:
Код:
пока жду ответа на вопрос из 1го сообщения
на всякий случай возьму и сломаю код выше

Код: Выделить весь код
Setlocal EnableDelayedExpansion
код выше
endlocal

Последний раз редактировалось shadowbat, 28-04-2023 в 08:37.


Отправлено: 04:05, 28-04-2023 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Помогите экранировать кавычки. alkogoliksasha Скриптовые языки администрирования Windows 3 15-05-2022 08:25
CMD/BAT - [решено] Кавычки и [] в источнике цикла FOR adrobkov@vk Скриптовые языки администрирования Windows 8 27-03-2019 23:23
VBS/WSH/JS - [решено] Кавычки в пароле Сиволапый Скриптовые языки администрирования Windows 4 31-10-2017 07:38
VBS/WSH/JS - [решено] Кавычки и переменные среды semen77 Скриптовые языки администрирования Windows 3 25-02-2013 03:32
Интерфейс - Нестандартные кавычки EN130 Microsoft Windows 2000/XP 5 13-10-2010 15:20




 
Переход