Bonjour à tous !
Dans le cadre de ma nouvelle fonction je dois faire un petit fichier batch.
- Celui-ci parcours les dossiers et sous-dossiers à la recherche d'un fichier.
- Si celui est trouvé, il copie dans un dossier, avec comme nom : nomdefichier_NomDossier.ext, donc avec le nom du dossier ou le fichier a été trouvé.
Donc j'ai réussi a faire une partie qui fonctionne, c'est à dire parcourir les dossiers et trouve les fichiers.
La partie qui me encore pose problème c'est de récupéré le nom du dossier et le concaténer avec le nom du fichier destination.
Donc voici le code :
Donc ce qu'il faudrait c'est récupérer le nom du dossier dans %%i et l'ajouter a %CD%\..\%2\%%~ni"ICI"%%~xi
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 @echo off Rem Test parameters if "%1"=="" goto ErrorParameters if "%2"=="" goto ErrorParameters if "%3" NEQ "" goto ErrorParameters Rem Browse Dir And SubDir echo Copy %1 to %2 mkdir %CD%\..\%2 for /r "." %%i in (*.*) do if %%~nxi == %1 copy %%i %CD%\..\%2\%%~nxi goto :eof :ErrorParameters echo Wrong parameters (must be 2).
J'étais parti sur cette exemple, mais je n'arrive pas a assemblé les deux :
http://stackoverflow.com/questions/2...st-folder-name
Merci pour votre aide.
Partager