PDA

Показать полную графическую версию : [решено] Операции со строками внутри цикла FOR


ironcrom
13-02-2024, 18:50
Не работает операция преобразования строки внутри цикла 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
set var2=!var:code=!не проверял

ironcrom
13-02-2024, 21:40
Проверял - не работает! Почему-то в этой конструкции не раскрывается та переменная которая находиться внутри!

так :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
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
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:




© OSzone.net 2001-2012