Fichier Batch
Résolu/Fermé
A voir également:
- Fichier Batch
- Fichier rar - Guide
- Fichier batch - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
barnabe0057
Messages postés
14453
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2024
4 917
Modifié le 13 juin 2021 à 08:02
Modifié le 13 juin 2021 à 08:02
Bonjour,
La commande REN renomme uniquement des fichiers, pour renommer des dossiers il faut utiliser la commande MOVE.
Concernant la variable de la boucle FOR, dans une invite de commandes elle se nomme %I mais à l'intérieur d'un script batch il faut doubler le % elle se nomme donc %%I, par conséquent votre commande est incorrecte :
Concernant la variable %Dossier% elle est située à l'intérieur d'un bloc FOR donc il faut la retarder sinon elle ne fonctionnera pas comme attendu. Il faut donc activer l'expansion retardée au début du script comme ceci :
Puis il faut indiquer qu'on souhaite retarder la variable, donc on remplacera %Dossier% par !Dossier!
La commande REN renomme uniquement des fichiers, pour renommer des dossiers il faut utiliser la commande MOVE.
Concernant la variable de la boucle FOR, dans une invite de commandes elle se nomme %I mais à l'intérieur d'un script batch il faut doubler le % elle se nomme donc %%I, par conséquent votre commande est incorrecte :
SET Dossier=Travail%I% à remplacer par SET Dossier=Travail%%I
Concernant la variable %Dossier% elle est située à l'intérieur d'un bloc FOR donc il faut la retarder sinon elle ne fonctionnera pas comme attendu. Il faut donc activer l'expansion retardée au début du script comme ceci :
setlocal enabledelayedexpansion
Puis il faut indiquer qu'on souhaite retarder la variable, donc on remplacera %Dossier% par !Dossier!
Merci mais après les corrections, je suis au même résultat. Rien ne se produit la seconde fois.
IF NOT EXIST "Travail" (GOTO Creation)
:Cherche
FOR /L %%I IN (1,1,10) DO
(
SET Dossier=Travail%%I
setlocal enabledelayedexpansion
IF NOT EXIST !Dossier! (GOTO Renomme)
)
GOTO Fin
:Renomme
REN "Travail" %%Dossier
:Creation
mkdir "Travail"
mkdir "Travail\JPEG"
mkdir "Travail\JPEG 1080"
mkdir "Travail\JPEG 1920"
mkdir "Travail\MSU Deflicker"
mkdir "Travail\RAW"
:Fin
barnabe0057
Messages postés
14453
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2024
4 917
13 juin 2021 à 08:16
13 juin 2021 à 08:16
Tu devrais mettre le setlocal plus haut.
Je vois un gros problème ici :
Je vois un gros problème ici :
REN "Travail" %%Dossier à remplacer par REN "Travail" "!Dossier!"
barnabe0057
Messages postés
14453
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2024
4 917
>
barnabe0057
Messages postés
14453
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
24 novembre 2024
13 juin 2021 à 08:21
13 juin 2021 à 08:21
Je viens de remarquer un problème potentiel : la première parenthèse du bloc d'instructions du FOR doit se trouver sur la même ligne que le FOR, et non une ligne en dessous.
13 juin 2021 à 08:02
13 juin 2021 à 08:08
J'ai l'impression que c'est nouveau, il faut que je vérifie ça sur d'autres windows plus anciens.
13 juin 2021 à 08:17
13 juin 2021 à 08:21
Mais il semble certain que, dans ces conditions, REN ne peut avoir pour destination un dossier inexistant et qu'il ne supporte pas les wildcards.