Copier le nom de plusieurs fichier

Résolu
Bonjour,

J'ai plusieurs centaines de dossiers contenant chacun un fichier vidéo+un fichier txt, je souhaite pouvoir copier le nom du fichier vidéo et renommer le fichier txt de la même façon, est-ce qu'un fichier bat ne serai pas en mesure de faire cela?

Merci
PoIrS

8 réponses

  1. Hello,
    Si c'est possible par un batch de commandes ou avec Windows PowerShell.
    0
    1. Oui je me doute que c'est possible, mais je ne sais pas l'écrire, je demande justement de l'aide.
      0
      1. Bonjour,

        Pour pouvoir t'aider il faudrait que tu nous donnes l'arborescence exacte, le répertoire source et des détails sur le niveau de récursivité que tu désires.


        “L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
        0
        1. Bonjour,

          Alors la question n'est pas "Est-ce possible" mais "Ecrivez-moi le script" et comme le dit barnabe007, il manque des informations pour le faire.
          0
          1. Bonjour,

            @barnabe007
            Je n'ai pas l'impression qu'il y ait une notion de récursivité dans la demande.
            0
            1. Bonjour PatriciaG, c'est bien ce qu'il me semblait mais je préfère être sûr.

              A suivre ...
              0
            2. @barnabe0057Hello,
              Tu as raison, un script ne souffre pas l'approximation. C'est carré.
              0
          2. Bonjour,

            Alors je précise mon besoin:

            -Dossier : Mes Vidéos
            ---Dossier : Vidéo 1 - xxx
            ----Fichier : Vidéo 1.mkv
            ----Fichier : info.txt
            ---Dossier : Vidéo 2 - xxx
            ----Fichier : Vidéo 2.mkv
            ----Fichier : info.txt
            ...

            Je souhaite renommer les fichiers "info.txt" en "Vidéo X.txt", soit que dans chaque dossier les deux fichier s'appel comme le fichier .mkv

            Voila, j'espère avoir été plus claire.
            Merci
            0
            1. Bonjour,

              Voilà une première version :

              @echo off
              Setlocal enableextensions
              color 0A & chcp 1252 > nul

              set source=%USERPROFILE%\Videos

              cd /d %source% || exit /B 1

              for /f "tokens=*" %%A in ('dir /b /ad') do (

              echo Dossier traité ==^>^> %%~A
              pushd %%~A
              for /f "tokens=*" %%B in ('2^>nul dir /b /a-d "*.mkv"') do (
              if exist "info.txt" (ren "info.txt" "%%~nB.txt")
              )
              popd

              )

              echo. & pause
              exit /B

              Teste ce batch et dis-moi si ça te va ou pas.


              “L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
              0
              1. Alors ça a marché une fois, dans un premier HDD qui contient cette arborescence, j'en ai deux autre mais ça n'a pas fonctionné sur aucun.
                0
                1. C'est sûrement à cause du dossier source, dans le script j'ai mis comme dossier source le dossier Mes Vidéos
                  0
                2. Est-ce qu'il serai possible d’exécuter ce script dans le dossier où il ce trouve, celui qui contient tous les autres dossiers ?
                  0
                3. En faite c'est bon, j'ai remplacé dans le script l'emplacement du dossier source, ça marche.

                  Merci
                  0
                4. @PoIrSDe rien.
                  0