2010-11-10 9 views
0

Il y a 3 fichiers dans le dossier 'D: \ log', dont les noms sont 'log1.txt log2.txt log3.txt' respectivement. Je veux montrer quelques informations en utilisant la commande 'FOR' MS-DOS. ligne de commande 'FOR'

 
set /a C=0 
for %%I in (log*.txt) do ( 
    echo "%C%--%%I" 
    set /a C+=1 
) 
chaînes de sortie étaient comme ça
 
0--log101105.txt 
0--log101116.txt 
0--log101117.txt 
Mais, les résultats attendus sont comme belows pas aboves
 
0--log101105.txt 
1--log101116.txt 
2--log101117.txt 

Comment augmenter la valeur du paramètre « C » en boucle FOR?

+0

Que diriez-vous 'C = C + 1'? – leppie

Répondre

1
@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 

set /a c=0 
for %%I in (log*.txt) do ( 
echo "!C!--%%I" 
set /a c=!c!+1 
) 

alt text

+0

Merci beaucoup. Je devrais observer l'aide de près. – codevania

0

vVous devez activer "expansion de variable retardée" pour cela.

Consultez l'aide pour les états SET (SET /?). Il explique exactement votre problème

+0

'bariable' est une variable booléenne? ; P – leppie