Bonjour,
Je souhaite scinder la variable %PATH% grâce aux délimiteur ;
Je ne sais même pas si c'est faisable en Batch (j'aimerai bien me passer de langage hôte si possible).
Merci de m'indiquer le chemin si possible !
Bonjour,
Je souhaite scinder la variable %PATH% grâce aux délimiteur ;
Je ne sais même pas si c'est faisable en Batch (j'aimerai bien me passer de langage hôte si possible).
Merci de m'indiquer le chemin si possible !
all your base are belong to us.
hmm... Je ne sais pas trop comment faire, mais ce serait peut etre possible de définir une variable "chemin" dans laquelle tu mets ton %PATH%, et après, dans une variable "1" tu mets par exemple les 10 premières lettres, et dans une variable 2 le reste. Je ne sais pas du tout si c'est faisable^^
j'espère que quelqu'un de vachement plus calé que moi (c'est pas très dur lol) passeras par ce topic et te répondra précisement^^
Merci quand même, mais les variables variables sont de longueur différente.
J'ai continuer mes tests, j ai la premiere sous chaine avec ceci : reste a boucler sur les autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @echo off for /f "delims=;" %%i in ("%PATH%") do echo %%i
all your base are belong to us.
Je ne comprend pas le mot scinder, pourais tu m'expliquer ?
Peut être que je pourai t'aider
Salut,
je veux faire un "explode" de la variable PATH en plusieurs sous chaines.
Mon code ci-dessus ne me renvoie que C:\WINDOWS\system32 et je voudrai boucler sur le reste de la chaine.
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
C:\program files\MinGW\bin;C:\Program Files\UnxUtils\usr\local\wbin;
etc
all your base are belong to us.
Je ne comprend pas explode non plu.
Donc si je comprend bien tu veut récupérer tous les chemin séparément ?
Je ne sais pas si c'est ca que tu veut mais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /f "tokens=1,2,3,4,5,6,7,8,9 delims=;" %%i in ("%PATH%") do echo %%i %%j %%k %%l %%m %%n %%o %%p %%q
Yep c'est ce que je veut faire !
Cependant, le nombre de sous chaînes produite étant variable, comment connaître le nombre de Tokens ? y a t il une autre solution ou un caractere special pour les tokens (type "tokens=1,*) ?
all your base are belong to us.
Pour le tokens on peut aller jusqu'a 26, le nombre de lettre de l'alphabet, s'il y a plus de token que de chemin c'est pas grave, fait en 26 au moin c'est fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /f "tokens=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,26 delims=;" %%a in ("%PATH%") do echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r %%s %%t %%u %%v %%w %%x %%y %%z
Si non blast killer a trouver une autre solution:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 setlocal enabledelayedexpansion set acc=0 set var=%path% :boucle set /a acc+=1 if "%var%"=="%varbck%" pause &exit for /f "delims=;" %%i in ("%var%") do set a%acc%=%%i echo !a%acc%! set varbck=%var% set var=%var:*;=% goto boucle
Certe, j'avais lu ca dans help.Pour le tokens on peut aller jusqu'a 26
Le code de blast killer fonctionne, je vais me renseigner sur tout ces mots clé que je ne connais pas. (devrait pas poser trop de problèmes).
Okey, merci pour toutes ces infos !!
all your base are belong to us.
enabledelayedexpansion, et les aut'machin comme le : devant boucle.
J'ai deja trouve dans une doc, je verrai cela se soir....
all your base are belong to us.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager