J'ai cherché des routines de manipulation de chaînes, et je suis conscient que je pourrais le faire dans plusieurs autres langues, mais je voudrais dans un fichier batch pour plus de simplicité. Je souhaite qu'il recherche une balise dans un fichier XML et extrait tout de là à la fin du fichier.Script Batch pour extraire une chaîne d'un fichier
Donc je suppose, par exemple dans le pseudo-javascript:
marketIndex = str.indexOf("<Markets>");
length = str.length;
marketString = str.substring(markeIndex, length-1);
return str;
J'ai une fonction de sous-chaîne chauve-souris:
: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
et une longueur d'une fonction de chaîne:
: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
donc je suppose qu'il me manque une fonction indexOf() dans la chau ...
Ce ne serait pas aussi simple que l'extrait JS, s'il était écrit en chauve-souris. – user502515
oui, je constate que ... –
Ma recommandation personnelle est: vous prendrez moins de temps à écrire quelque chose dans, diable, même C (!), Que dans le pseudo-langage de lot. –