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 :
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).
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

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.