Copier n fois un fichier en gardant son nom

Résolu
arvi -  
 arvi -
Bonjour,
je n'y connais rien , mais est -il possible avec un petit programme .bat de :

dupliquer un fichier en incrémentant son nom.
ex: machin.wav ; machin_001.wav etc !!

ce programme sait-il faire avec n'importe quel fichier qu'on lui met à coté.(dans un même dossier).

Peut être pas très clair ma demande.
J'ai vu pas mal de choses mais cela ne correspond pas et je ne comprends pas vraiment comment ça marche.
merci

Configuration: Windows / Firefox 75.0
A voir également:

8 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Bonjour,

Oui c'est très facile à faire, combien de copies te faut-il ?

0
arvi
 
hu! quelle rapidité.
disons 10 .

Merci
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Voilà un exemple :

@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul

for %%A in (*.*) do (

for /L %%E in (1,1,10) do (

set index=00%%E
set index=!index:~-3!
copy "%%~fA" "%%~nA_!index!%%~xA"

)

)

pause
exit

0
arvi
 
La vache !!!
c'est fou ..
Merci beaucoup! Je suis espanté.

remarques :
-1 il fait aussi des copies du .bat , est ce normal?
-2 serait il possible d'avoir une explication des codes, si ce n'est pas trop ennuyeux pour vous ?

Encore MERCI
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
1. je peux rajouter une condition pour le script lui-même

2. la première boucle FOR sert à traiter tous les fichiers, peu importe leur type (*.*)

La deuxième boucle FOR incrémente une valeur que l'on va ajouter au nom du fichier, je me sers de la variable index pour définir cette valeur sur 3 chiffres (d'abord j'ajoute deux 0 puis je découpe la variable pour ne garder que les trois derniers chiffres)

Concernant la ligne avec le COPY, j'utilise les variables de substitution de la boucle FOR :

%%~fA : chemin et nom du fichier
%%~nA : nom du fichier
%%~xA : extension du fichier

D'autres questions ?
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention  
 
Voilà la version qui exclut le script de la copie :

@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul

for %%A in (*.*) do (

for /L %%E in (1,1,10) do (

set index=00%%E
set index=!index:~-3!
if not "%%~fA"=="%~f0" (copy "%%~fA" "%%~nA_!index!%%~xA")

)

)

pause
exit
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arvi
 
merci beaucoup.
c'est fabuleux, je regarde cela de plus près.

merci encore.
0
arvi
 
La deuxième boucle FOR incrémente une valeur que l'on va ajouter au nom du fichier, je me sers de la variable index pour définir cette valeur sur 3 chiffres (d'abord j'ajoute deux 0 puis je découpe la variable pour ne garder que les trois derniers chiffres)

si je désire ne mettre que deux chiffres :

set index=00%%E
set index=!index:~-2!
je mets donc un 2 à la place du 3 ?
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Oui tout à fait.
0
arvi
 
Et bien voilà , que dire de plus, j'ai ce qu'il me faut.
Encore un grand merci pour ce partage.

bonne continuation et courage en ce moment.
Arvi
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Merci bonne continuation également !

A bientôt peut-être.
0
arvi
 
c'est certain , si j'ai besoin .
0