Je défini des listes dans un script de lot, puis je voudrais imprimer un élément spécifique de chacun d'entre eux, mais obtenir une sortie 'echo est désactivé' (est si c'est vide).
J'ai essayé de cycler le creux Listes avec A pour la boucle et qui a fonctionné bien. P>
Ceci est le code pour que j'essaie d'exécuter p> sortie attendue: p> sortie réelle: p>
3 Réponses :
Si c'était vraiment votre intention imiter un tableau, ce serait quelque chose de similaire à celui-ci.
echo %clist[1]%`
Voici un exemple en utilisant la méthode décrite ici , pour créer Votre tableau comme variables:
Si vos valeurs de membre "Array" sont toujours de 1 caractère long, une seule variable avec les opérations de sous-chaîne est tout ce qui est nécessaire.
@echo off rem --------start of Define list-------- set "clist=ABCDEFGHIJKLMNOPQRSTUVWXYZ" set "ilist=XYZABCDEFGHIJKLMNOPQRSTUVW" set "testl=1234" rem --------end of Define list-------- echo %clist:~1,1% echo %ilist:~1,1% echo %testl:~1,1% rem Show all values in loop setlocal enableDelayedExpansion for /l %%N in (0 1 25) do ( echo clist[%%N] = !clist:~%%N,1! echo ilist[%%N] = !ilist:~%%N,1! echo testl[%%N] = !testl:~%%N,1! )
Une liste séparée de l'espace ne fait pas une matrice. Lorsque
cmd.exe code> Les gens parlent d'un "tableau", ils signifient généralement de créer plusieurs variables.
var [0] code>,
var [1] code>,
var [2] code>, etc.
Il n'existe aucun concept de listes ou de tableaux dans les scripts par lots, seules des variables d'environnement normales (telles que
var code>); Mais ceux-ci sont parfois nommés comme des éléments de tableau (comme
var [0] code>,
var [1] code>, etc.), que j'appelle généralement des pseudo-matrices. Prenez une boucle à ce poste: tableaux, listes liées et autres structures de données dans cmd.exe (lot) script