Choisir - Copier - Incrementer

Résolu/Fermé
batch123 Messages postés 7 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 5 juin 2013 - 4 juin 2013 à 07:36
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 5 juin 2013 à 09:04
Bonjour,

Je cherche de l'aide afin de créer un script BATCH (.bat) afin de copier un fichier précis, un nombre de fois défini.

Voici mon script actuellement :

@echo off
TITLE Programme automatique de copie avec incrementation
color 2
color 6f
mode con:cols=65 lines=41
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo °     Programme automatique de copie avec incrementation    °  
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
CHDIR
:1
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° 1/3 QUEL EST LE NOM DU PREMIER FICHIER A REPETER ?        °
echo ° EXEMPLE : FICHIER 1 (SANS EXTENSION!)                     °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
ECHO.
set /p nom=
ECHO.
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° 2/3 QUEL EST L'EXTENSION DU PREMIER FICHIER A REPETER ?   °   
echo ° EXEMPLE : txt (sans le point..)                           °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
ECHO.
set /p ext=
ECHO.
IF EXIST %nom%.%ext% (
echo Fichier trouvé!
ECHO.
goto :2
) ELSE (
echo Fichier non trouve veuillez recommencer
goto :1
)
:2
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° Combien de fois ?                                                 °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
set /p combien=
set /a combien+1=1

set /a i=i+1
COPY %nom%.%ext% > %nom%2.%ext%


echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° Yesssss! Tout est OK...                                   °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
pause



C'est à la fin sur l'opération que ne n'y arrive pas...

J'ai cherché pendant des heures sur le net, rien à faire.

Quelqu'un aurait une idée ?

Grand merci à vous !



A voir également:

9 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 4/06/2013 à 08:54
hello
à la fin, il faut faire une boucle et pas de > dans le copy ,essayer:
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° Combien de fois ?                                                 °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
set /p combien=
for /L %%n in (1,1,%combien%) do  COPY %nom%.%ext%  %nom%%%n.%ext%
1
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
4 juin 2013 à 12:41
y a-t-il des espaces dans le nom ?
1
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
4 juin 2013 à 13:09
mettre des "
IF EXIST "%nom%.%ext%" (
...
for /L %%n in (1,1,%combien%) do  COPY "%nom%.%ext%"  "%nom%%%n.%ext%"

je n'ai pas compris le problème du nom. faut-il enlever le chiffre avant ?
1
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
4 juin 2013 à 15:17
essayer avec
...
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
echo ° Combien de fois ?                                                 °
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
set /p combien=
set /a combien+=1
for /L %%n in (2,1,%combien%) do  COPY "%nom%.%ext%"  "%nom:~0,-1%%%n.%ext%"

1

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

Posez votre question
batch123 Messages postés 7 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 5 juin 2013
Modifié par batch123 le 4/06/2013 à 12:35
Merci

Le fichier spécifié est introuvable (6 fois le message, si je demande 6)

Mais je sens qu'on est pas loin de la vérité ;)
0
batch123 Messages postés 7 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 5 juin 2013
4 juin 2013 à 13:04
- Oui il y en a, sans espace ça marche ! Comment résoudre ce problème ? Il me faut absolument des espèce dans les noms de fichier.

- Et aussi il ajoute le numéro après le premier numéro à incrémenter du coup j'ai :

fichier1.txt
fichier11.txt (fichier 1 + 1.txt)
fichier12.txt (fichier 1 + 2.txt)

Merci pour tout !
0
batch123 Messages postés 7 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 5 juin 2013
4 juin 2013 à 14:34
Niquel pour les espace merci !

Oui en fait ce que je voudrais :

Fichier 1.txt (Fichier original)
Fichier 2.txt
Fichier 3.txt
Fichier 4.txt
Fichier 5.txt
N Fois

Et la j'ai :

Fichier 1.txt (fichier original)
Fichier 11.txt
Fichier 12.txt
Fichier 13.txt

Il faut enlever "1" sur les noms de fichiers suivant


Encore merci... ;)
0
batch123 Messages postés 7 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 5 juin 2013
4 juin 2013 à 16:00
Parfait ça marche !

Les jours prochain je verrais pour faire la meme chose avec :

Fichier 1 - NOM PROJET.ext
Fichier 2 - NOM PROJET.ext
Fichier 3 - NOM PROJET.ext
Fichier 4 - NOM PROJET.ext

Le numéro se retrouve coincé entre un titre et un -

Merci et à bientôt
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 juin 2013 à 09:04
essayer ceci
...
setlocal enableDelayedExpansion
echo ?????????????????????????????????????????????????????????????
echo ? Combien de fois ?                                                 ?
echo ?????????????????????????????????????????????????????????????
set /p combien=
set /a combien+=1
for /L %%n in (2,1,%combien%) do  (
        set nn=%nom:1 - NOM PROJET=%
        COPY "%nom%.%ext%"  "!nn!%%n - NOM PROJET.%ext%"
        )
0