IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Copier les fichiers vers un dossier


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut Copier les fichiers vers un dossier
    Bonjours,

    Je suis debutant en batch et je voulais ecrire un script batch qui permet de copier les fichiers d'un dossier en fonction de la date de modification du fichier vers un dossier portant le nom de la date de modification de ces fichiers.

    Merci pur vos reponses

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Voici une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ::: Par Sachadee
    ::: 26-03-2013
    @echo off
    
    ::::LE DOSSIER SOURCE
    set $rep_source=f:\toto
    
    setlocal enabledelayedexpansion enableextensions
    
    for /f %%f in ('dir %$rep_source% /aa /b') do (set $rep=
                                                   set $rep=%%~tf&echo DATE CREATION FICHIER - !$rep!
                                                   set $rep=!$rep:/=-!&echo REMPLACEMENT CARATERE SPECIAUX - !$rep!
                                                   set $rep=!$rep:~0,10!&echo LA DATE SEULE EST - !$rep!
                                                   if not exist %$rep_source%\!$rep! md %$rep_source%\!$rep!&echo.CREATION DE !$rep!
                                                   > nul copy %%~ff %$rep_source%\!$rep!&echo COPIE DE %%f DANS !$rep!)
    
    endlocal
    Change la valeur du repertoire source et test

    Amicalement

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut
    Salut sachadee,

    Merci pour ta reponse. Quand j'execute le fichier batch, rien ne se produit. Dans quel chemin iront ces fichiers apres copie?

    Pourriez vous m'expliquer un peu ce code?

    Merci encore

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Tu dois modifier cette ligne, en mettant le nom du repertoire oú se trouve tes fichiers á traiter (remplacer f:\toto):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ::::LE DOSSIER SOURCE
    set $rep_source=f:\toto
    et les nouveaux repertoires seront créer dans le repertoire que tu as indiqué.


    Amicalement

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Par défaut
    Bonjours sachadee,

    Merci beaucoup ce code fonctionne a merveille. Juste deux petites questoins encore:
    - Si je voulais qu'il copie seulement le fichiers d'une certaine date disons du 26/03/2013 au 30/03/2013 seulement.

    - Si je voulais que ces dossiers se deplacent vers un autre emplacement car j'ai remarque que les dossiers se logent dans le meme repertoire que mon fichier batch. Donc l'idee est de lancer mon fichier batch n'importe ou sur la machine et recuperer le resultat dans un dossier cible contenant tous ces dossiers.

    Merci encore et encore

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    pour changer le repertoire de copie. Tu cree un variable avec l'adresse du repertoire de destination :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ::::LE DOSSIER SOURCE
    set $rep_source=f:\toto
    
    :::::LE DOSSIER DE DESTINATION
    
    set $rep_destination=d:\tata
    et tu modifie la ligne de copy de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    > nul copy %%~ff %$rep_destination%\!$rep!&echo COPIE DE %%f DANS !$rep!)
    pour ton 1er probléme. Si tes deux dates sont dans le même mois c'est assez simple à mettre en oeuvre mais si tes 2 dates chevauches 2 mois c'est plus compliqué. Il faut tenir compte des mois qui ont 30,31 ou encore 28,29 jours
    etc..

    Amicalement

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/03/2014, 16h38
  2. Boucle copier/coller sur tous les fichiers d'un dossier
    Par santadrix dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/10/2012, 10h58
  3. Copier plusieurs fichiers vers un même dossier
    Par Maxime50 dans le forum Langage
    Réponses: 1
    Dernier message: 10/09/2009, 15h34
  4. Copier un fichier vers un autre dossier
    Par kofky0 dans le forum VBScript
    Réponses: 4
    Dernier message: 22/08/2007, 11h50
  5. Copier un fichier d'un dossier vers un autre
    Par rvaysse dans le forum VB.NET
    Réponses: 10
    Dernier message: 13/08/2007, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo