Si vous voulez juste tout ce qui suit le trait de soulignement (et que vous ne connaissez pas nécessairement la longueur de la chaîne ou l'endroit où se trouve le trait de soulignement, mais que vous pouvez compter sur le fait qu'il n'y ait qu'un seul trait de soulignement), essayez :
for /f "tokens=2 delims=_" %%a in ("%STRING%") do (
set AFTER_UNDERSCORE=%%a
)
En gros, votre chaîne sera divisée en jetons en utilisant le trait de soulignement comme délimiteur (delims=_). Seul le deuxième (tokens=2) sera passé (comme variable %%a) à la boucle for. La boucle ne sera exécutée qu'une seule fois, car il s'agit dans ce cas d'une seule chaîne de caractères.
Si vous voulez sauvegarder les éléments avant et après le soulignement, essayez :
for /f "tokens=1,2 delims=_" %%a in ("%STRING%") do (
set BEFORE_UNDERSCORE=%%a
set AFTER_UNDERSCORE=%%b
)
Notez que %%a est la variable pour le premier élément du partage ; %%b est la variable pour le deuxième élément du partage.