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 :

Copie de fichier ss écraser la destination


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut Copie de fichier ss écraser la destination
    Bonsoir,

    Voilà mon pb : Je cherche à copier, en mode batch, des fichiers d'un répertoire à un autre sans écraser le fichier dans la destination s'il existe déjà. Dans ce cas je voudrais avoir un résultat de type monfichier.txt(2) (le fichier original s'appelant mon_fichier.txt)
    Lorsque je procède à la souris le systeme me propose le choix de copier et remplacer, ne pas copier; copier et conserver les 2 fichiers. Si cette option est choisie j'ai bien 2 fichiers monfichier.txt et monfichier.txt (2)

    C'est ce fonctionnement que voudrais mettre en place dans un batch.

    Pouvez vous m'aider ?

    Je suis sous windows XP

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Par défaut
    salut,

    quelque chose comme ça devrait être pas mal :

    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
    19
    20
    @echo off
    
    set source=c:\rep_source
    set destination=c:\rep_destination
    
    setlocal enabledelayedexpansion
    
    for /f %%i in ('dir /B "%source%"') do (
    	if exist "%destination%\%%i" (
    		for /f "tokens=1,2 delims=." %%j in ('echo %%i') do (
    			set nom1=%%j
    			set nom2=%%k
    		)
    		xcopy "%source%\%%i" "%destination%\!nom1! (2).!nom2!" <yesfile.txt
    	) else (
    		xcopy "%source%\%%i" "%destination%\"
    	)
    )
    	
    PAUSE
    et en plus de ça il faut créer un fichier intitulé "yesfile.txt" à placer au même endroit que le bat et mettre dedans :

    P.S: l'idéal serait également de gérer les erreurs de copie mais j'ai fait ça rapidement... sinon voir du côté de ERRORLEVEL

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut Copie de fichier ss écraser la destination
    Merci beaucoup pour cette réponse.
    ça marche nikel quand le fichier existe déjà dans la destination mais parfois je peux avoir 3 ou 4 fichiers que je souhaite conserver, donc si mon_fichier.txt et mon fichier (2).txt existent dans la destination je souhaiterais copier mon_fichier.txt sous le nom de mon_fichier (3).txt
    J'ai essayé de modifier le batch pour obtenir cela mais sans succès pour l'instant !

Discussions similaires

  1. [AC-2007] Copie de fichiers et dossiers vers un dossier destination
    Par lio33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/07/2013, 21h25
  2. Réponses: 4
    Dernier message: 17/12/2008, 18h47
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

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