Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   if кавычки (разночтение одна кавычка или много кавычек) (http://forum.oszone.net/showthread.php?t=353483)

shadowbat 27-04-2023 13:04 3008183

if кавычки (разночтение одна кавычка или много кавычек)
 
подскажите как так получается, что ниже в двух случаях зеркально работает только одна строка из двух?

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 3008206

Код:

@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 3008247

Цитата:

Цитата megaloman
Код:

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

Код:

Setlocal EnableDelayedExpansion
код выше
endlocal



Время: 23:55.

Время: 23:55.
© OSzone.net 2001-