Je ne savais pas comment expliquer ce puits, alors voici le codeCMD boucle For ne tient pas dans/une valeur
@echo off
set test=0
for /f %%a in (textfile.txt) do (
rem loops five times(5 lines in textfile.txt)
set /a test=test+1
rem Adds 1 to Test
echo %%a
rem Echo's correct line in file
echo %test%
rem Echo's whatever X was before the loop
)
echo %test%
rem Displays the correct value of X
pause
c'est juste un exemple où je trouve le problème, txtfile. txt a 5 lignes, donc la boucle for va 5 fois, chaque fois, le test lui donne +1, et le/a affiche la valeur correcte de X, mais le dernier écho de la boucle for affiche 0, ce qui est le test mis à avant la boucle.
La valeur du test ne change pas jusqu'à ce que la boucle soit terminée ... est-il possible de résoudre ce problème?
Voici ce que je veux accomplir, car il peut y avoir un moyen plus simple: Je veux lancer une boucle for findstr tous les rtf dans une série de sous-dossiers, et les copie tous dans un répertoire avec un nouveau nom , 1.rtf, 2.rtf, 3.rtf, etc. La raison pour laquelle je dois les renommer sur le transfert est qu'ils ont tous le même nom.
Que diriez-vous de transmettre la valeur '%% a' à n'importe quelle variable de boucle for? Juste ne peux pas y arriver pendant des heures – xacinay