PDA

Показать полную графическую версию : if кавычки (разночтение одна кавычка или много кавычек)


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

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

megaloman
27-04-2023, 15:39
@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

shadowbat
28-04-2023, 04:05
Код:

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

Setlocal EnableDelayedExpansion
код выше
endlocal




© OSzone.net 2001-2012