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 :

Concaténation de chemins [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut Concaténation de chemins
    Bonjour,

    Je voudrais concaténer deux variables pour former une chemin
    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
    21
    SET MONREP=C:\Users\DELL\Desktop\courrier
    for /f "delims=" %%a In ('dir /ad/b/s  %MONREP% ') Do ( 
    		
    		 echo  %%a 
    		 
    		dir %%a /OD /T:W >>tmp3.txt 
    		
    
    
    rem On ne garde que les fichier modifiés en 2013
    rem et on déplace dans le dossier spécifique
    FINDSTR /V /C:"<REP>" "tmp3.txt"|findstr /C:"/2012" > tmp2
    
    
    
    
    
    for /F "tokens=4" %%I IN (tmp2) DO echo %%a%%I   C:\Users\DELL\Desktop\DestinationCourrier\2008\Collecte
    
    )
    voilà %%a%%i ne peut pas être un chemin. Alors comment faire?

    Merci de votre aide

  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,

    tu ferais mieux de tester directement la date de ton fichier.
    voici une méthode pour récupèrer des informations sur un fichier de manière simple et rapide.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ::::LE DOSSIER SOURCE
    @echo off
    
    set $rep_source=C:\TON_REP
    
    setlocal enabledelayedexpansion enableextensions
    
    for /f "delims=" %%f in ('dir %$rep_source% /aa /s /b') do (
                                                   set $rep=%%~tf
                                                   set $rep=!$rep:~6,4!&echo L ANNEE DE CREATION DE %%~ff  EST - !$rep!)
    et tu continue avec un test "if"


    Amicalement

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    Merci de ton aide

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    En fait voilà la réponse
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    SET MONREP=C:\Users\DELL\Desktop\courrier\
    for /f  "delims=" %%a In ('dir /ad/b/s  %MONREP% ') Do ( 
    				
    		set c=%%a	
    		set c=!c:*courrier=courrier!
    		dir %%a /OD /T:W > tmp3.txt
    
    
    		rem On ne garde que les fichier modifiés en 2013 et on les déplace dans le dossier spécifique
    		FINDSTR /V /C:"<REP>" "tmp3.txt"|findstr /C:"/2012" > tmp3
    		
    		
    
      
    	for /F "tokens=4" %%I IN (tmp3)  DO (
    		
    		set "c=%%a"
    	
    		set "c=!c:*courrier=courrier!"
    		
    		
     
    		echo fichier source %%a\%%I
    	
    		echo destination C:\Users\DELL\Desktop\DestinationCourrier\courrier\2013\%c%
    	
    		copy %%a\%%I    C:\Users\DELL\Desktop\DestinationCourrier\courrier\2013\%c%
      
     
     )

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    La seul bémole de la solution que j'ai proposé c'est que %c% ne garde que le premier mot du répertoire destination.
    Exemple si tu veux copier dans un dossier destination C:\Users\Allence\Desktop\DestinationCourrier\courrier\2013\augmentation capital
    alors destination en utilisant ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     C:\Users\Allence\Desktop\DestinationCourrier\courrier\2013\%c%
    n'est que C:\Users\Allence\Desktop\DestinationCourrier\courrier\2013\augmentation
    c'est à dire il ne lit pas après les espaces du nom du répertoire destination
    Solution?

  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,

    la solution est dans le bout de code que je t'ai envoyé.
    Ce code te retourne le chemin complet du fichier et l'année de création.

    Il te suffit ensuite de tester l'année du fichier et de faire la copie dans le rep desiré.

    Amicalement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le compilateur peut-il "concaténer" deux chemins ?
    Par serge17 dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2015, 20h50
  2. [HTML] Concaténer un chemin d'accès
    Par nancyvoyer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/06/2009, 20h31
  3. Concaténation de chemins de fichiers
    Par seiryujay dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 15/12/2008, 11h25
  4. Réponses: 1
    Dernier message: 14/11/2008, 15h37
  5. Réponses: 3
    Dernier message: 23/08/2007, 09h53

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