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

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

ironcrom 13-02-2024 18:50 3024115

Операции со строками внутри цикла FOR
 
Не работает операция преобразования строки внутри цикла FOR
Код:

setlocal EnableDelayedExpansion
echo on
for /f "usebackq delims=," %%j in (
`curl "https://youtube.googleapis.com/youtube/v3/liveStreams?part=snippet%%2CcontentDetails%%2Cstatus&mine=true" -H "Authorization: Bearer XXXXXXX"`
)  do (
    set var=%%j
    set var2=%!var!:code=%
    @echo !var!
    @echo !var2!
    )

меня интересует как заставить нормально работать это:yu:,
Код:

set var2=%!var!:code=%
причем вне цикла данная конструкция работает

ПОМОГИТЕ ПОЖАЛУЙСТА! Уже весь интернет облазил - нигде нет описания или примеров работы с преобразованиями строки внутри цикла

megaloman 13-02-2024 21:32 3024123

Код:

set var2=!var:code=!
не проверял

ironcrom 13-02-2024 21:40 3024124

Проверял - не работает! Почему-то в этой конструкции не раскрывается та переменная которая находиться внутри!

так :yu:, работает
Код:

set var1=code will be here
set var2=%var1:code =%
@echo var2=%var2%
if not "%var1%" == "%var2%" (
            @echo Строка найдена!
          )

как только помещаешь это в скобки перестает работать!

megaloman 13-02-2024 22:11 3024125

ironcrom, тестовый пример (curl у меня нет)
Код:

@Echo Off &Cls
        SetLocal EnableDelayedExpansion
        >"%~dpnx0.txt" (
                Echo 1 code will be here
                Echo 2 will code be here
                Echo 3 will be code here
                Echo 4 will be here code
        )
        For /f "usebackq delims=" %%j In (`more "%~dpnx0.txt"`) do (

                Set "var=%%j"
                Echo.
                Echo --- %%j
                Echo --- !var!

                Set "var2=!var:code=!"
                Echo +++ !var2!
        )
pause
Exit /B


ironcrom 17-02-2024 21:26 3024321

Цитата:

Цитата megaloman
ironcrom, тестовый пример (curl у меня нет)
Код:
@Echo Off &Cls
SetLocal EnableDelayedExpansion
>"%~dpnx0.txt" (
Echo 1 code will be here
Echo 2 will code be here
Echo 3 will be code here
Echo 4 will be here code
)
For /f "usebackq delims=" %%j In (`more "%~dpnx0.txt"`) do (
Set "var=%%j"
Echo.
Echo --- %%j
Echo --- !var!
Set "var2=!var:code=!"
Echo +++ !var2!
)
pause
Exit /B »

Сспасибо большое за ответ!
Это именно то, что было нужно!
Дописал код! Вроде, все работает, как я и хотел:yahoo:


Время: 07:23.

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