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:
En gros, je veux l'équivalent de %var~2% pour une variable en delayed expansion ou pour une variable de boucle for
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ) )
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
Partager