J'ai un partage de fichiers réseau appelé \\SMWEB\MSDS
qui contient des centaines de sous-répertoires nommés MSDS_nnnn_
(c'est-à-dire MSDS
plus un nombre). À l'intérieur de chaque sous-répertoire, il peut y avoir de nombreux fichiers - certains fichiers .html
, .jpg
et divers fichiers .pdf
. Il peut également y avoir un sous-répertoire appelé _vti_cnf
, qui contient de vieilles extensions FrontPage associées aux métadonnées. Mais il devrait toujours y avoir au moins un fichier à l'intérieur de ces sous-répertoires avec le format de nom MSDS_#_.PDF
. (Le nombre peut être de longueurs variables ; par exemple, MSDS99.PDF
ou MSDS1099.PDF
, etc.)
Il peut également y avoir de vieilles versions obsolètes de ces fichiers auxquelles le propriétaire a ajouté un X_#__
devant le nom du fichier (voir le cadre rouge dans l'image - il y a deux versions archivées du fichier MSDS0001.PDF
dans cet exemple).
Voici à quoi ressemble la structure en arborescence :
Voici ce que je dois accomplir : je dois copier tous les fichiers PDF actuels et de premier niveau quelque part (dans un répertoire unique appelé SDS
sur mon lecteur H:\
). Je ne veux PAS reproduire les sous-dossiers, et je veux uniquement les fichiers avec le motif MSDS*.PDF
(ces fichiers sont surlignés en jaune dans l'image ci-dessus). Donc je veux exclure :
- les fichiers dans les sous-répertoires sous les répertoires
MSDS_nnnn_
(par exemple, dans les sous-répertoires_vti_cnf
), - les fichiers dont les noms ne commencent pas par
MSDS
(par exemple, les fichiersX_#__
), et - les fichiers dont les noms ne se terminent pas par
.PDF
(par exemple, les fichiers HTML et JPEG).
J'ai essayé la commande suivante dans Robocopy :
robocopy \\smweb\msds\ H:\SDS msds*.pdf /S /R:3 /W:3 /NDL /XJD /XD _vti_cnf
Le problème est que Robocopy a reproduit la structure des dossiers sur mon lecteur H:
.
Comment puis-je atteindre mon objectif ?