Découper une variable _dynamique_
Voici mon problème:
je récupére des noms de dossiers dans une commande précédante. Ces noms sont stockés dans %%j
Je souhaite récuperer le nom de chaque dossier moins les 2 premiers caractères ! le tout dans une boucle for:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
rem Ici, je récupère la liste des repertoires de mon dossier
for /f "delims=" %%j IN ('dir "%target%" /b /ad') DO (
rem ici, je défini la variable repertoire qui contient
rem le chemin vers ce repertoire et je l'affiche (!repertoire!=OK)
set repertoire = %target%\%%j
echo !repertoire!
rem Ici, j'aimerai afficher pour chaque repertoire
rem tous les users dont le nom commence comme mon dossier
rem moins les 2 premiers caractères !
rem (le problème est en rouge)
for /f "delims=" %%k IN ('net localgroup users ^| findstr %%j')
DO (
echo user = %%k
)
) |
En gros, je veux l'équivalent de %var~2% pour une variable en delayed expansion ou pour une variable de boucle for
Je veux soit - enlever les 2 premiers caractères de %%j
- créer une variable avec set var=%%j et retirer ses 2 premiers caractères (mais cette variable sera !var! et pas %var% )
Avec les variables statiques, %var~2% fait exactement ça. Malheureusement,!var~2! ne fonctionne pas, ni %%j~2, ni %%~2j