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

 


Dernière réponse
Sujet : DOS et fichier batch paramétrés
Carbon_14 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.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Carbon_14 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.
Drwily 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.
Carbon_14 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]
Drwily 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 !
Carbon_14 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...
Drwily 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 ?

feilong74 deja tes copy c'est :
 
COPY *.xls c:\bat\xls
 
et non :
 
COPY %1.XLS C:\bat\xls
Drwily 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 !


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