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 :

Script de déplacement de fichiers datant de 10 jours


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut Script de déplacement de fichiers datant de 10 jours
    Bonjour,

    voici mon problème : j'ai créer un script batch avec la fonction FORFILES pour pouvoir déplacé plusieurs fichier de plus de 10 jours d'une arborescence vers un dossier spécifique.

    voici mon script :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    cls
    @echo off
    echo.
    echo.
    echo.
    echo ================ Purge des fichiers superieurs a 10 jours ================
    echo.
    echo.
    echo.
    echo Tache lancee le %date% a %time%
    echo ----------------------------------------
    echo.
    echo.
    echo Liste des repertoires a traiter
    echo ===============================
    
    echo.
    cd C:\TEST_PACIFIC\pa
    
    if not exist C:\TEST_PACIFIC\tmp\PALOG\ mkdir C:\TEST_PACIFIC\tmp\PALOG\
    if not exist C:\TEST_PACIFIC\tmp\OLDFILES mkdir C:\TEST_PACIFIC\tmp\OLDFILES
    
    set PALOG=C:\TEST_PACIFIC\tmp\PALOG\listePA.log
    set pathPA=C:\TEST_PACIFIC\pa
    set IBLOG=C:\TEST_PACIFIC\tmp\PALOG\inbox.log
    set OLDFILES=C:\TEST_PACIFIC\tmp\PALOG\OLDFILES
    
    dir /ad /b /s %pathPA% | find /i "inbox" > %IBLOG%
    
    for /f "usebackq delims==" %%i in (`dir /b %pathPA%`) do echo %%i
    echo.
    
    echo Test de presence des dossiers Inbox
    echo ===================================
    echo.
    for /f %%i in (%PALOG%) do if exist %%i\inbox (
    echo %%i\inbox existe
    ) else (
    echo %%i\inbox n'existe pas
    )
    
    echo.
    echo Emplacements d'origine des fichiers de plus de 10 jours
    echo =======================================================
    echo.
    for /f %%i in (%IBLOG%) do (
    forfiles -p%%i -m* -d-10 -c"cmd /c echo %%i\@file date de plus de 10 jours : sa date est @fdate"" >>C:\TEST_PACIFIC\tmp\PALOG\oldfiles.log
    )
    
    echo.
    echo Deplacements des fichiers de plus de 10 jours vers %OLDFILES%
    echo =============================================================================
    echo.
    for /f %%i in (%IBLOG%) do (
    forfiles -p%%i -m* -d-10 -c"cmd /c move %%i\@FILE %OLDFILES%"
    )
    
    SET /A count=0
    FOR /F "usebackq delims==" %%A IN (`DIR /B %OLDFILES%`) DO SET /A count+=1
    IF %count% GTR 1 (
    ECHO %count% fichers deplaces
    ) ELSE (
    ECHO Aucun fichier deplace - Erreur !!!
    )
    
    
    pause
    Le problème interviens à partir de la partie où je liste les fichiers datant de plus de 10 jours. En effet, je prend l'information depuis un fichier de log généré plus haut dans mon script. Mais je ne comprend pas pourquoi il ne peux pas me listé les fichiers datant de plus de 10 jours !

    Si quelqu'un peux m'aidé c'est super sympa !

  2. #2
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    Citation Envoyé par sousket
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forfiles -p%%i -m* -d-10 -c"cmd /c echo %%i\@file date de plus de 10 jours : sa date est @fdate""
    Euh juste pour vérification, si la ligne seule ci-dessus est exécutée directement dans un shell elle fonctionne ( parce que la syntaxe je la trouve chelou ) ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Citation Envoyé par plopi Voir le message
    Euh juste pour vérification, si la ligne seule ci-dessus est exécutée directement dans un shell elle fonctionne ( parce que la syntaxe je la trouve chelou ) ?
    merci ! j'ai trouvé mon erreur, voici la bonne syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forfiles /p %%i /m * /d -10 /c "cmd /c echo %%i\@FILE date de plus de 10 jours : sa date est @FDATE"
    Pour mon déplacement de fichier voici le code :

    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
    echo.
    echo.
    echo Deplacements des fichiers de plus de 10 jours vers %OLDFILES%
    echo =============================================================================
    echo.
    for /f %%i in (%IBLOG%) do (
    forfiles /p %%i /m * /d -10 /c "cmd /c move %%i\@FILE %OLDFILES%"
    )
    
    SET /A count=0
    FOR /F "usebackq delims==" %%A IN (`DIR /B %OLDFILES%`) DO SET /A count+=1
    IF %count% GTR 1 (
    ECHO %count% fichers deplaces
    ) ELSE (
    ECHO Aucun fichier deplace - Erreur !!!
    )
    J'ai une question, car on viens de me rajouter une problèmatique sur ce script, en effet, lors du déplacement, je dois excluse un dossier de la liste (meme si le script déplace le contenu des dossiers qu'il détecte).

    En effet, un dossier nommé "Exclu" pour mon test, et qui contient un sous dossier "inbox" (mon script ne déplace que les fichiers des dossier "inbox" qu'il trouve !) ne doit surtout pas être pris en compte. Quelqu'un à une idée pour réalisé cette exclusion lors de mon déplacement ?

    Merci d'avance !

  4. #4
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    Citation Envoyé par sousket

    J'ai une question, car on viens de me rajouter une problèmatique sur ce script, en effet, lors du déplacement, je dois excluse un dossier de la liste (meme si le script déplace le contenu des dossiers qu'il détecte).

    En effet, un dossier nommé "Exclu" pour mon test, et qui contient un sous dossier "inbox" (mon script ne déplace que les fichiers des dossier "inbox" qu'il trouve !) ne doit surtout pas être pris en compte. Quelqu'un à une idée pour réalisé cette exclusion lors de mon déplacement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     dir /b /a:d | find /v "Exclu"

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Citation Envoyé par plopi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     dir /b /a:d | find /v "Exclu"

    merci ! je viens de testé, mais apparament le contenu de mon dossier Exclu est bien déplacé .

    Je dois le placé à un endroit particulier ? Sinon, je l'ai mi ainsi dans mon code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    cls
    @echo off
    echo.
    echo.
    echo.
    echo ================ Purge des fichiers superieurs a 10 jours ================
    echo.
    echo.
    echo.
    echo Tache lancee le %date% a %time%
    echo ----------------------------------------
    echo.
    echo.
    echo Liste des repertoires a traiter
    echo ===============================
    
    echo.
    cd C:\TEST_PACIFIC\pa
    
    if not exist C:\TEST_PACIFIC\tmp\PALOG\ mkdir C:\TEST_PACIFIC\tmp\PALOG\
    if not exist C:\TEST_PACIFIC\tmp\OLDFILES mkdir C:\TEST_PACIFIC\tmp\OLDFILES
    
    set pathPA=C:\TEST_PACIFIC\pa
    set IBLOG=C:\TEST_PACIFIC\tmp\PALOG\inbox.log
    set PALOG=C:\TEST_PACIFIC\tmp\PALOG\listePA.log
    set OLDFILES=C:\TEST_PACIFIC\tmp\OLDFILES
    
    
    dir /ad /b /s %pathPA% | find /i "inbox" > %IBLOG%
    dir /b > %PALOG%
    dir /b /a:d | find /v "NP1101S1_Exclu"
    for /f "usebackq delims==" %%i in (`dir /b %pathPA%`) do echo %%i
    echo.
    
    echo Test de presence des dossiers Inbox
    echo ===================================
    echo.
    for /f %%i in (%PALOG%) do if exist %%i\inbox (
    echo %%i\inbox existe
    ) else (
    echo %%i\inbox n'existe pas
    )
    
    echo.
    echo.
    echo Emplacements d'origine des fichiers de plus de 10 jours
    echo =======================================================
    echo.
    for /f %%i in (%IBLOG%) do (
    forfiles /p %%i /m * /d -10 /c "cmd /c echo %%i\@FILE date de plus de 10 jours : sa date est @FDATE" >>C:\TEST_PACIFIC\tmp\PALOG\oldfiles.log
    )
    
    echo.
    echo.
    echo Deplacements des fichiers de plus de 10 jours vers %OLDFILES%
    echo =============================================================================
    echo.
    
    
    for /f %%i in (%IBLOG%) do (
    forfiles /p %%i /m * /d -10 /c "cmd /c move %%i\@FILE %OLDFILES%"
    )
    
    SET /A count=0
    FOR /F "usebackq delims==" %%A IN (`DIR /B %OLDFILES%`) DO SET /A count+=1
    IF %count% GTR 1 (
    ECHO %count% fichers deplaces
    ) ELSE (
    ECHO Aucun fichier deplace - Erreur !!!
    )
    
    pause

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    personne ne peux m'aidé plz ?

Discussions similaires

  1. [Batch] Supprimer fichiers datant de X jours
    Par leuke dans le forum Scripts/Batch
    Réponses: 25
    Dernier message: 08/01/2018, 13h16
  2. Script déplacement de fichiers
    Par rblog dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 08/12/2011, 09h34
  3. Script de déplacement fichiers
    Par WolwX dans le forum Linux
    Réponses: 5
    Dernier message: 17/10/2010, 16h37
  4. Script de déplacement de fichier wav qui ne fonctionne pas
    Par maxtofurious dans le forum VBScript
    Réponses: 1
    Dernier message: 24/12/2009, 18h19
  5. SunOS 5.8 script de déplacement de fichier
    Par aaron dans le forum Unix
    Réponses: 1
    Dernier message: 05/04/2008, 20h36

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