Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BATCH ] Xcopy doit copier uniquement le nom exact

    9 janvier 2020 à 12:38:53

    Bonjour à tous !

    J'ai un petit batch qui ne fait pas exactement ce que je veux, j'ai une liste de fichiers que je veux copier d'un dossier à un autre, le problème c'est que le nom de ce fichier est aussi présent sur d'autres fichiers

    Par exemple je veux copier 470.jpeg mais 4702.jpeg va être copié aussi

    Voici mon code pour que ce soit plus clair :

    @echo off
     
    set src=F:\PHOTOS\02_Photos_HD_Finales\01_Motorise
    set dst=C:\Users\photos\Desktop\Galet Artek
    set file=%~dp0FileCopy.txt
     
    for /F "usebackq tokens=*" %%a in ("%file%") do xcopy "%src%\*%%~a*" "%dst%" /C /Q /H /R /K /Y 1>nul 2>nul
    pause


    Voilà, merci d'avance pour vos réponses ;) 

    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2020 à 14:58:49

      Bonjour,

      Pouvons-nous avoir le contenu de "FileCopy.txt" afin de voir quel est le filtre appliqué ?

      • Partager sur Facebook
      • Partager sur Twitter
        9 janvier 2020 à 15:04:11

        Il n'y en a pas, j'ai juste mis une liste des fichiers que je recherche du type :

        470

        471

        472

        etc...

        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2020 à 15:49:35

          Tu peux regarder du côté de la commande findstr pour appliquer un filtre.

          • Partager sur Facebook
          • Partager sur Twitter
            9 janvier 2020 à 15:54:59

            Merci de ta réponse ! Je vais essayer de creuser mais je me rends compte que mes connaissances sont insuffisantes, si tu en as le temps et l'envie, tu penses que tu pourrais me montrer comment faire ?
            • Partager sur Facebook
            • Partager sur Twitter
              10 janvier 2020 à 14:28:05

              Bonjour,

              Voici un exemple, à toi de l'adapter :

              @echo off
                
              set src=D:\test
              set dst=D:\test\test1
              set filter_dir=*.jpeg
              
              For /F "delims=" %%i in ('dir /A:-D /O:N /B "%src%\%filter_dir%" ^| Findstr /R "^[0-9][0-9][0-9].jpeg$"') do (echo %%i)
              
              pause
              exit
              



              -
              Edité par Zaibai 10 janvier 2020 à 14:28:31

              • Partager sur Facebook
              • Partager sur Twitter

              [BATCH ] Xcopy doit copier uniquement le nom exact

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown