Instruction set dans boucle for ne fonctionne pas
Résolu
Mouness
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit souci avec une boucle FOR dans un batch (c'est mon premier batch) et je n'arrive pas determiner l'origine du probleme ! Si quelqu'un aurai quelque minute pour m'aider ce serai super :-)
==============================================================
voici ma boucle :
echo on
for %%x in (*.txt) do (
set /a cpt+=1
echo %cpt%
set NomFicSortie=%EMET%.%RECEPT%.%CHAMP3%.F%HHMM%%cpt%.%DJJMMAA%.%PRET%
echo %NomFicSortie%
rename "%%~fx" "%NomFicSortie%"
)
@echo off
==============================================================
mon probleme :
les deux instruction "set" fonctionne en dehors de la boucle mais ne fonctionne plus une fois dedans !! et j'avoue ça m'echappe !
==============================================================
resultat :
d:\test\source>for %x in (*.txt) do (
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "%~fx" ""
)
d:\test\source>(
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "d:\test\source\azerty123.txt" ""
)
1
Commande ECHO activée.
Le nom de fichier existe déjà, ou le fichier
est introuvable.
d:\test\source>(
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "d:\test\source\test.txt" ""
)
1
Commande ECHO activée.
Le nom de fichier existe déjà, ou le fichier
est introuvable.
J'ai un petit souci avec une boucle FOR dans un batch (c'est mon premier batch) et je n'arrive pas determiner l'origine du probleme ! Si quelqu'un aurai quelque minute pour m'aider ce serai super :-)
==============================================================
voici ma boucle :
echo on
for %%x in (*.txt) do (
set /a cpt+=1
echo %cpt%
set NomFicSortie=%EMET%.%RECEPT%.%CHAMP3%.F%HHMM%%cpt%.%DJJMMAA%.%PRET%
echo %NomFicSortie%
rename "%%~fx" "%NomFicSortie%"
)
@echo off
==============================================================
mon probleme :
les deux instruction "set" fonctionne en dehors de la boucle mais ne fonctionne plus une fois dedans !! et j'avoue ça m'echappe !
==============================================================
resultat :
d:\test\source>for %x in (*.txt) do (
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "%~fx" ""
)
d:\test\source>(
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "d:\test\source\azerty123.txt" ""
)
1
Commande ECHO activée.
Le nom de fichier existe déjà, ou le fichier
est introuvable.
d:\test\source>(
set /a cpt+=1
echo 1
set NomFicSortie="XXXXX"."XXXX"."XX".F14331.D231013."PRET"
echo
rename "d:\test\source\test.txt" ""
)
1
Commande ECHO activée.
Le nom de fichier existe déjà, ou le fichier
est introuvable.
A voir également:
- Instruction set dans boucle for ne fonctionne pas
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
3 réponses
hello
pour modifier des variables dans une boucle for, il faut
pour modifier des variables dans une boucle for, il faut
setlocal enableDelayedExpansionau début du script et utiliser
!à la place de
%.
...
for %%x in (*.txt) do (
set /a cpt+=1
echo !cpt!
...