Я искал некоторые процедуры для работы со строками и знаю, что могу сделать это на нескольких других языках, но для простоты мне хотелось бы, чтобы это было в командном файле.
Я хочу, чтобы он поискал в XML-файле тег и извлек из него все до конца файла.
Итак, я думаю, например, в псевдо-javascript:
marketIndex = str.indexOf("<Markets>");
length = str.length;
marketString = str.substring(markeIndex, length-1);
return str;
У меня есть функция подстроки в bat:
:Substring
::Substring(retVal,string,startIndex,length)
:: extracts the substring from string starting at startIndex for the specified length
SET string=%2%
SET startIndex=%3%
SET length=%4%
if "%4" == "0" goto :noLength
CALL SET _substring=%%string:~%startIndex%,%length%%%
goto :substringResult
:noLength
CALL SET _substring=%%string:~%startIndex%%%
:substringResult
set "%~1=%_substring%"
GOTO :EOF
и длина строковой функции:
:StrLength
::StrLength(retVal,string)
::returns the length of the string specified in %2 and stores it in %1
set #=%2%
set length=0
:stringLengthLoop
if defined # (set #=%#:~1%&set /A length += 1&goto stringLengthLoop)
::echo the string is %length% characters long!
set "%~1=%length%"
GOTO :EOF
так что я думаю, что мне не хватает функции indexOf () в bat ...