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 :

[batch]+comparer deux repertoires+lister fichiers differents


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut [batch]+comparer deux repertoires+lister fichiers differents
    Bonjour

    Je cherche à comparer les fichiers de 2 repertoires (avec toute l'arborescense) et de récuperer une liste de fichiers nouveaux ou modifiés (conserver les +recents) avec l'arborescence dans un fichier txt.

    J'ai essayé de m'inspirer d'un batch ou l'utilisateur compare 2 repertoires mais dans c:\windows\system32.

    Je n'arrive pas à interpoler cette recherche à 2 emplacements persos

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    cd C:\
    if exist Differences.txt del Differences.txt
    set bckfolder=C:\A_Comparer
    for /f "delims=" %%a in (A_Comparer.txt) do call :cmd "%%a"
    echo Les fichiers differents sont affiches dans C:\Differences.txt
    pause
    exit
     
    :cmd
    set fullfile=%~1
    set file=%~nx1
    echo N | comp "%bckfolder%\%file%" "%fullfile%" > NUL 2> NUL
    if errorlevel 1 echo %fullfile% >> Differences.txt
    goto :eof
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Peux tu nous indiquer où est ton problème exactement ?
    Le script Batch ne marche pas ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut
    en fait je n'arrive pas à rédiger correctement mon bat pour faire une comparaison entre deux répertoires

    en fait je veux faire en sorte que le répertoire de destination soit le même que le répertoire source donc je veux procéder en 2 temps:
    1- je compare les deux répertoires et je liste les fichiers en trop dans mon rep de destination. je met cette liste de fichiers avec leur chemin dans une variable.
    2-je supprime les fichiers à l'aide de la liste

    merci d'avance

  4. #4
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Le script que tu a mis plus haut, tu l'a testé ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut
    bien sur que je l'ai testé

    mais comme je dis, je ne veux pas comparer des fichiers qui sont dans "System32", je veux pouvoir mettre mes répertoires...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut
    SAlut

    on ma filé ce code sur un NG windows.programmation mais il ne fait pas exactement ce que je veux:

    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
    @echo off
    setlocal
    
    if exist compare.log del compare.log
    
    set dirA=C:\dir1
    set dirB=C:\dir2
    
    for /R "%dirA%" %%I in (*.*) do call :_process "%%I"
    for /R "%dirB%" %%I in (*.*) do call :_process "%%I"
    goto :eof
    
    :_process
    set relpath=%~1
    echo 1%relpath%
    call set relpath=%%relpath:%dirA%=%%
    echo 2%relpath%
    if exist "%dirB%%relpath%" (
      fc /A /W /L /N "%dirA%%relpath%" "%dirB%%relpath%" >> compare.log
    ) else (
      echo %~n1%~x1 exists only in %~d1%~p1 >> compare.log
    )
    
    goto :eof
    pause
    - pourquoi il re liste l'intégralité des fichiers du dir2 en disant qu'ils
    ne sont que dans dir2 à la fin dans le compare.log?
    - n'est il pas possible de n'avoir que le chemin des fichiers qui sont
    différents dans le compare.log?

    merci de votre aide

  7. #7
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    inspire toi de ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For /R %RepSource% %%i in (*.*) do echo %%~nxi > test_system32.txt
    For /f "tokens=*" %%i in (test_system32.txt) do if exist "%systemroot%\System32\%%i" echo  =^> Les fichiers pour le r‚pertoire: [ System32 ] sont … jour
    For /f "tokens=*" %%i in (test_system32.txt) do if not exist "%systemroot%\System32\%%i" color 0C & echo  !!!!!!!!!!!! Des fichiers pour le r‚pertoire [ System32 ] manques

Discussions similaires

  1. Comparer deux valeurs dans fichiers textes.
    Par yellow29 dans le forum Débuter
    Réponses: 3
    Dernier message: 08/02/2015, 18h44
  2. Réponses: 1
    Dernier message: 28/09/2011, 11h18
  3. Réponses: 3
    Dernier message: 02/05/2009, 17h09
  4. comparer deux chemins de fichiers
    Par gedeon555 dans le forum C
    Réponses: 14
    Dernier message: 08/07/2006, 20h44
  5. Réponses: 5
    Dernier message: 09/01/2005, 19h54

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