Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1339 connectés 

  FORUM HardWare.fr
  Windows & Software

  DOS et fichier batch paramétrés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DOS et fichier batch paramétrés

n°2277900
Drwily
Mad Doctor !
Posté le 02-01-2006 à 18:18:49  profilanswer
 

Voila, je me demande comment créer un fichier batch qui copirait automatiquement plusieur fichiers, selon leur extention dans un répertoire qui leur correspond
 
(par exemple les fichiers batch dans un dossier "BAT", les fichiers "MP3" dans un dossier "MP3"...)
 
La commande serait la suivante : "copi zik.mp3 truc.bat"
 
Je sais qu'il faut que j'utilise les %1 %2... Mais je ne voit pas comment inclure le fait que le fichier batch trie automatioquement les fichier selon leur extentions.
 
J'ai essayer un truc comme ca, mais ca ne foctionne pas :
 

Citation :

@ECHO OFF
CLS
ECHO Vous allez copier les fichiers entrés, dans les réperoires correspondants.
PAUSE
: DEB
FOR %%i IN (%2 %3 %4 %5)
IF NOT EXIST %1 GOTO err
IF "%1"=="" GOTO fin
IF "%1"=="stop" GOTO fin
IF "%1"==".BAT" goto copbat
IF "%1"==".DOC" goto copdoc
IF "%1"==".XLS" goto copxls
 
:COPBAT
COPY %1.BAT C:\bat\bat
SHIFT
GOTO deb
 
:COPDOC
COPY %1.DOC C:\bat\word
SHIFT
GOTO deb
 
:COPXLS
COPY %1.XLS C:\bat\xls
SHIFT
GOTO deb
 
:ERR
rem CLS
ECHO Le fichier %1 n'éxiste pas.
GOTO fin
 
:FIN
CLS


 
De l'aide ?
 
Merci !


Message édité par Drwily le 02-01-2006 à 18:21:33
mood
Publicité
Posté le 02-01-2006 à 18:18:49  profilanswer
 

n°2277920
feilong74
Posté le 02-01-2006 à 18:30:13  profilanswer
 

deja tes copy c'est :
 
COPY *.xls c:\bat\xls
 
et non :
 
COPY %1.XLS C:\bat\xls


---------------
I am Alpha and Omega, the beginning and the end, the first and the last
n°2277925
Drwily
Mad Doctor !
Posté le 02-01-2006 à 18:35:11  profilanswer
 

Bah non puisque le nom du fichier est entré avec le fichier batch.
 
Le %1 correspond au nom du fichier, si je met *.XLS il va me copier tous les fichier avec cette extention. Or je veux qu'il ne copi QUE le (ou les) fichier que j'ai entré en paramètre après le fichier batch.
 
Sinon j'ai cette solution la :
 

Citation :

@ECHO ON
CLS
ECHO Vous allez copier les fichiers entrés, dans les réperoires correspondants.
PAUSE
 
: DEB
IF "%1"=="" GOTO fin
IF "%1"=="stop" GOTO fin
IF NOT EXIST %1 GOTO err
FOR %%i (%2 %3 %4) DO COPY A:\%1 C:\bat\%2
SHIFT
GOTO deb
 
:ERR
ECHO le fichier %1 n'existe pas !
goto fin
 
:FIN


 
Mais pour les paramètres ca donnera "copi.bat truc bat docu doc zik mp3"
 
en fait le %1 correspond au nom du fichier et le %2 au type de répertoire. Mais y a t'il un autre moyen ?


Message édité par Drwily le 02-01-2006 à 18:43:36
n°2278074
Carbon_14
Posté le 02-01-2006 à 20:11:29  profilanswer
 

Le but est donc de décomposer les noms des fichiers en séparant le nom, et l'extension, de les copier selon l'extension.
Je crois qu'on ne peut dépasser %9 donc pas plus de 9 fichiers à la fois.
 
Les copier tous (for %f in (*.doc) do copy %f c:\bat\doc) serait plus simple...

n°2278363
Drwily
Mad Doctor !
Posté le 02-01-2006 à 23:29:49  profilanswer
 

Merci bien, si j'utilise 3 extention je dois utiliser le "for" 3 fois ?
 
Si on ne peu pas dépasser %9 on utilise la commande "SHIFT" mais si on décompose le nom et l'extention je ne vois pas coment faire... J'essaye ta technique.
 
Merci encore !

n°2279397
Carbon_14
Posté le 03-01-2006 à 20:01:43  profilanswer
 

Si c'est pour copier tous les fichiers d'un type, le for est efficace.
Si c'est pour ne traiter que certains, c'est plus difficile.
 
Si "DOS" ne trouve rien dans le "tri" (*.mp3), la boucle ne fera rien, donc ça ne craint rien de mettre un "grand" nombre de for (un pour chaque type).
 
Selon le besoin, ça serait peut-être possible de gérer les extensions à copier avec un truc du genre
 
"copi MP3 DOC" avec donc MP3 en %1 et DOC en %2. En testant dans le batch ("DOC", "MP3" ) avec des étiquettes, mais sais pas(plus) si possible de faire l'un PUIS l'autre, .. Ca permettrait de choisir au lancement les types concernés [faut voir le besoin]

n°2280449
Drwily
Mad Doctor !
Posté le 04-01-2006 à 17:50:14  profilanswer
 

Le besoin esyt de copier chaque type de fichier ver le dosier qui lui correspond. En sachant que l'utilisateur n'entre que les nom des fichier qu'il a besoin de déplacer. Pas des joker.

n°2280853
Carbon_14
Posté le 04-01-2006 à 23:00:55  profilanswer
 

L'utilisateur ne peut faire (en lui expliquant un peu le comment ça marche)
 
copy toto.mp3 mp3
copy truc.doc doc
copy machin.mp3 mp3
 
au lieu de copi toto.mp3 truc.doc machin.mp3 (?).
 
Faudrait trouver un tutoriel sur le BATCH pour voir si possible de séparer l'extension du nom de fichier. En langage quelconque, facile, mais en batch, faut chercher (je ne sais faire que des trucs simpl(ist)es).
Sinon, copi pourrait s'écrire en C (mode console). Pas trop de temps en ce moment.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  DOS et fichier batch paramétrés

 

Sujets relatifs
Suppression de fichier partiel (et caché) impossible)MBSA 2.0 : Le fichier de catalogue est endommagé ou n'est pas valide.
réparation fichier word et publishercreer un batch pour installer les mise à jour de windows xp
Fichier car ?Problème démarrage (fichier manquant)
plantage systeme de fichier - tous les fichier = 0 octetemule: recuperer les parametres apres install
partage fichier wifi freeboxLes fichier zip sont-ils plus sensibles aux rayures ?
Plus de sujets relatifs à : DOS et fichier batch paramétrés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR