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 :

.bat qui récupère tous les .pdf/.docx de mon C:\


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut .bat qui récupère tous les .pdf/.docx de mon C:\
    Bonjour à tous

    J'aurais besoin d'un peu d'aide ne connaissant pas grand chose au batch.
    J'ai besoin d'un petit script qui récupère tous les .pdf et .docx de mon C:\ (y compris tous les sous dossiers de ce dernier)
    afin de copier coller ces derniers dans mon D:\DocBureautique.

    A l'heure actuelle je suis incapable de trouver comment faire pour parcourir tous les dossiers de mon C:\

    Un ami m'a conseiller d'utiliser le PowerShell pour ce genre de chose, cela serait plus pratique?

    Merci infiniment d'avance.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Tester ce code et dites moi s'il existe un bug lors du test ?
    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
    @echo off
    Mode con cols=100 lines=10 & Color 9B
    Title Recherche et copie de tous les fichiers de type *.DOCX et *.PDF du C:\  (by Hackoo 2014)
    Setlocal EnableDelayedExpansion
    CD /D C:\
    Set Destination=D:\DocBureautique
    echo.
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type DOCX dans le C:\ ...
    Dir /b /d /s *.docx > DOCX.txt
    CLS
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier !Destination!\DOCX\ ...
    For /F "delims=" %%X in ('Type DOCX.txt') do (Set Source="%%X" & Xcopy /I /D /Y /S /J /C !Source! !Destination!\DOCX\)
    CLS
    echo. 
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type PDF dans le C:\ ...
    Dir /b /d /s *.pdf > PDF.txt
    CLS
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier !Destination!\PDF\ ...
    For /F "delims=" %%X in ('Type PDF.txt') do (Set Source="%%X" & Xcopy /I /D /Y /S /J /C !Source! !Destination!\PDF\)
    echo.
    echo Termine !
    echo.
    pause
    Explorer !Destination!

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Merci
    Bonjour et merci beaucoup hackoofr de votre aide et du mal que vous vous êtes donné, je ne pensais pas que cela serait si long

    A première vue cela semble très bien fonctionner, je testerais ce soir tout cela plus en détail afin d'être sûr de mon affirmation ^^

  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
    Points : 3 768
    Points
    3 768
    Par défaut
    En beaucoup plus court et beaucoup plus rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    echo Traitement en cours....
    for /f "delims=" %%a in ('dir c:\ /b/s *.docx,*.pdf') do copy "%%a" "D:\DocBureautique"
    echo termin‚
    pause


    @Hackoo Tu n'as pas besoin de l'expansion retardé ton :

    est inutil

    Tu peux directement utiliser la variable de ton FOR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xcopy /I /D /Y /S /J /C "%%X"
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Merci
    Merci à toi
    Je vais faire mes petits tests de mon coté pour voir alors

  6. #6
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    et pour ces remarques constructives Sacha
    Effectivement, en tenant compte du dernier script posté, on constate bien qu'il est beaucoup plus rapide que le mien, alors voici le code testé chez moi en appliquant le script de Sacha
    Remarque : Dans ce script j'ai créé un dossier DOCX et un dossier PDF dans le chemin de destination pour une meilleure organisation de copie selon l'extension
    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
    @echo off
    Mode con cols=100 lines=10 & Color 9B
    Title Recherche et copie de tous les fichiers de type *.DOCX et *.PDF du C:\  (by Hackoo and Sachadee 2014)
    echo                                       Traitement en cours....
    Set Destination=D:\DocBureautique
    If Not Exist %Destination% MD %Destination%
    CD /D C:\
    echo.
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type DOCX dans le C:\ ...
    Dir /b /d /s *.docx > DOCX.txt
    CLS 
    echo.
    echo                           Creation du dossier "%Destination%\DOCX\"
    Timeout /T 2 /NOBREAK >Nul
    If Not Exist %Destination%\DOCX\ MD %Destination%\DOCX\
    CLS
    Title Veuillez patienter un peu ... on copie tous les fichiers de type DOCX dans le dossier %Destination%\DOCX\ ...
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type DOCX dans le dossier %Destination%\DOCX\ ...
    for /f "delims=" %%a in ('Type DOCX.txt') do copy "%%a" "%Destination%\DOCX\"
    Title Veuillez patienter un peu ... on cherche tous les fichiers de type PDF dans le C:\ ...
    CLS
    echo. 
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type PDF dans le C:\ ...
    Dir /b /d /s *.PDF > PDF.txt
    CLS 
    echo.
    echo                           Creation du dossier "%Destination%\PDF\"
    Timeout /T 2 /NOBREAK >Nul
    If Not Exist %Destination%\PDF\ MD %Destination%\PDF\
    CLS
    Title Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier %Destination%\PDF\ ...
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier %Destination%\PDF\ ...
    for /f "delims=" %%a in ('Type PDF.txt') do copy "%%a" "%Destination%\PDF\"
    Title Traitement Termine !
    CLS
    echo.
    echo                                           Traitement Termine !
    echo.
    echo                        Appuyez sur une touche pour ouvrir le dossier %Destination%
    pause >nul
    Explorer %Destination%
    @Sacha : "n'hésites surtout pas à ajouter vos commentaires et vos remarques Chef "

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Ayant oublier le chargeur de mon PC au boulot je n'ai pas pu tester tout cela hier soir :/
    Je vais m'en occuper aujourd'hui et je reviens vers vous si j'ai des soucis :p
    Merci infiniment à vous 2 pour votre précieuse aide

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Fabuleux :')

    Juste par curiosité, est-il compliqué de rajouter une condition afin que les fichier copiés ne soit que ceux dont la taille dépasse 1mo par exemple?

    Si cela est trop compliqué ce n'est pas grave, je me satisfait pleinement du script actuel
    Merci encore !

  9. #9
    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
    Points : 3 768
    Points
    3 768
    Par défaut
    Essaye ceçi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    echo Traitement en cours....
    for /f "delims=" %%a in ('dir c:\ /b/s *.docx,*.pdf') do (
      if  %%~za GTR 1000000 copy "%%a" "D:\DocBureautique")
    echo Termin‚
    Pause
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  10. #10
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Essayez ceci :
    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
    @echo off
    Mode con cols=100 lines=10 & Color 9B
    Title Recherche et copie de tous les fichiers de type *.DOCX et *.PDF du C:\  (by Hackoo and Sachadee 2014)
    echo                                       Traitement en cours....
    Set Destination=E:\DocBureautique
    ::maxbytessize = 1Mo = 1000000
    Set maxbytesize=1000000
    If Not Exist %Destination% MD %Destination%
    CD /D C:\
    echo.
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type DOCX dans le C:\ ...
    Dir /b /d /s *.docx > DOCX.txt
    CLS 
    echo.
    echo                           Creation du dossier "%Destination%\DOCX\"
    Timeout /T 2 /NOBREAK >Nul
    If Not Exist %Destination%\DOCX\ MD %Destination%\DOCX\
    CLS
    Title Veuillez patienter un peu ... on copie tous les fichiers de type DOCX dans le dossier %Destination%\DOCX\ ...
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type DOCX dans le dossier %Destination%\DOCX\ ...
    for /f "delims=" %%a in ('Type DOCX.txt') do (if %%~za GEQ %maxbytesize% copy "%%a" "%Destination%\DOCX\")
    Title Veuillez patienter un peu ... on cherche tous les fichiers de type PDF dans le C:\ ...
    CLS
    echo. 
    echo       Veuillez patienter un peu ... on cherche tous les fichiers de type PDF dans le C:\ ...
    Dir /b /d /s *.PDF > PDF.txt
    CLS 
    echo.
    echo                           Creation du dossier "%Destination%\PDF\"
    Timeout /T 2 /NOBREAK >Nul
    If Not Exist %Destination%\PDF\ MD %Destination%\PDF\
    CLS
    Title Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier %Destination%\PDF\ ...
    echo. 
    echo       Veuillez patienter un peu ... on copie tous les fichiers de type PDF dans le dossier %Destination%\PDF\ ...
    for /f "delims=" %%a in ('Type PDF.txt') do (If %%~za GEQ %maxbytesize% copy "%%a" "%Destination%\PDF\")
    Title Traitement Termine !
    CLS
    echo.
    echo                                          Traitement Termine !
    echo.
    echo                       Appuyez sur une touche pour ouvrir le dossier %Destination%
    pause >nul
    Explorer %Destination%

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    hackoofr tu peux me repondre svp http://www.developpez.net/forums/d14...ript-hackoofr/ ( vous pouvez svp me donner votre compte fb pr vous contacter )

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merveilleux
    Merci encore et encore c'est parfait

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Après moultes essais je constate que les pdf cachés ne semblent pas être copiés.
    C'est sûrement normal, je suppose qu'il n'y a rien pour y remédier?

  14. #14
    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
    Points : 3 768
    Points
    3 768
    Par défaut
    Après moultes essais je constate que les pdf cachés ne semblent pas être copiés.
    C'est sûrement normal, je suppose qu'il n'y a rien pour y remédier?
    Tu peux faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo Traitement en cours....
    attrib c:\*.pdf -H /s
    for /f "delims=" %%a in ('dir c:\ /b/s *.docx,*.pdf') do (
      if  %%~za GTR 1000000 copy "%%a" "D:\DocBureautique")
    echo Termin‚
    pause
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Développeur Windev
    Inscrit en
    Octobre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Windev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci de ton coup de pouce

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/05/2006, 14h36
  2. comment Récupéré tous les options d'un select ?
    Par maximenet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/03/2006, 15h59
  3. Macro excel qui ferme tous les fichiers .xls
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/01/2006, 20h21
  4. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22
  5. Utilisateurs qui ont tous les droits.
    Par seal3 dans le forum Shell et commandes GNU
    Réponses: 14
    Dernier message: 15/02/2005, 20h41

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