en essayant de créer un script .bat, et avoir besoin de faire fonctionner certaines chaînes correctement.Cmd: ne pas évaluer les variables à l'intérieur d'une boucle
C'est ce que j'ai jusqu'à présent
@echo off
for /r %%i in (*.csv) do (
set str=%%i
set str=%str:csv=rar%
echo %%i
echo.%str%
)
Dire que j'ai cette course dans C: \, et a obtenu 5 csv, 1.csv, 2.csv ... 5.csv
première fois que je lance, je reçois de sortie:
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
La deuxième fois que je reçois:
C:\1.csv
csv=rar
C:\2.csv
csv=rar
C:\3.csv
csv=rar
C:\4.csv
csv=rar
C:\5.csv
Ensuite, tous les appels je reçois:
C:\1.csv
rar=rar
C:\2.csv
rar=rar
C:\3.csv
rar=rar
C:\4.csv
rar=rar
C:\5.csv
Quand ce que j'attendrai à obtenir est tout droit:
C:\1.csv
C:\1.rar
C:\2.csv
C:\2.rar
C:\3.csv
C:\3.rar
C:\4.csv
C:\4.rar
C:\5.csv
C:\5.rar
Je supprimer la substitution:
@echo off
for /r %%i in (*.csv) do (
echo %%i
set str=%%i
echo.%str%
)
première manche :
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
Deuxième course:
C:\1.csv
C:\5.csv
C:\2.csv
C:\5.csv
C:\3.csv
C:\5.csv
C:\4.csv
C:\5.csv
C:\5.csv
C:\5.csv
Il est comme il est pas défini la variable str jusqu'à la dernière course de la boucle, même si elle essaie de faire écho à la variable, la ligne qui se produit après le réglage, puis enregistré cette pour la prochaine boucle? Y a-t-il quelque chose qui me manque sur la façon dont elle transforme les boucles?
Merci
Vous monsieur, êtes un gentleman! (Acceptera dans 5 minutes quand je peux) – Psytronic
C'est un problème commun avec les fichiers batch ... J'ai été trompé par cela il y a quelques mois ... – Benoit