Script Windows, copier le contenu de sous-répertoires
Résolu
bachus666
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
nimnesis -
nimnesis -
Bonjour à tous,
avant toute chose je tien à préciser que je travail sous un environnement Windows 7 64bits.
Ma situation est donc la suivante, je dispose de plusieurs dossiers contenant eux même plusieurs dossiers contenant eux même des photos et des vidéos:
Dossier racine
--->Dossier1
-------->Sousdossier1
-------------------->Photos
-------------------->Photos
--->Dossier2
-------->Sousdossier2
-------------------->Photos
-------------------->Sousdossier3
-------------------------->Vidéos
Mon objectif serai-donc de lancer un script depuis la racine afin de "remonter" toutes les photos et les vidéos dans le dossier racine soit via une boucle récursive soit directement via une commande qui copierai exclusivement les fichiers .jpeg et .mp4 (ou autre).
Par la suite j'envisagerai aussi une option permettant la suppression des dossiers vides.
Dossier racine
--->Photos
--->Photos
--->Vidéos
J'aimerai donc savoir si vous auriez des idées de langage ou de solution pour pouvoir arrivé à se résultat, mieux si certain se sont déjà penchés sur la question, m'apporter leurs expériences.
Merci d'avance de vos réponses.
avant toute chose je tien à préciser que je travail sous un environnement Windows 7 64bits.
Ma situation est donc la suivante, je dispose de plusieurs dossiers contenant eux même plusieurs dossiers contenant eux même des photos et des vidéos:
Dossier racine
--->Dossier1
-------->Sousdossier1
-------------------->Photos
-------------------->Photos
--->Dossier2
-------->Sousdossier2
-------------------->Photos
-------------------->Sousdossier3
-------------------------->Vidéos
Mon objectif serai-donc de lancer un script depuis la racine afin de "remonter" toutes les photos et les vidéos dans le dossier racine soit via une boucle récursive soit directement via une commande qui copierai exclusivement les fichiers .jpeg et .mp4 (ou autre).
Par la suite j'envisagerai aussi une option permettant la suppression des dossiers vides.
Dossier racine
--->Photos
--->Photos
--->Vidéos
J'aimerai donc savoir si vous auriez des idées de langage ou de solution pour pouvoir arrivé à se résultat, mieux si certain se sont déjà penchés sur la question, m'apporter leurs expériences.
Merci d'avance de vos réponses.
A voir également:
- Script Windows, copier le contenu de sous-répertoires
- Clé de produit windows 10 gratuit - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows movie maker - Télécharger - Montage & Édition
- Comment copier une vidéo youtube - Guide
8 réponses
je vois.
si le nom existe dans %racine% on copie le fichier en ajoutant un nombre aléatoire dans le nom
si le nom existe dans %racine% on copie le fichier en ajoutant un nombre aléatoire dans le nom
@echo off set racine=dir for /R %racine% %%a in (*.jpeg *.mp4) do ( set nom=%%~nxa if exist "%racine%\%nom%" copy "%%a" "%racine%\%%~na%RANDOM%%%~xa" else copy "%%a" "%racine%")
hello
enlever le echo pour effectuer la copie, sinon il ne fait qu'afficher
enlever le echo pour effectuer la copie, sinon il ne fait qu'afficher
@echo off set racine=dir for /R %racine% %%a in (*.jpeg *.mp4) do echo copy "%%a" "%racine"
je n'ai pas testé
@echo off set racine=dir for /R %racine% %%a in (*.jpeg *.mp4) do ( if exist "%racine%\%%a" ren "%racine%\%%a" "%racine%\%%~na%RANDOM%.%%~xa" copy "%%a" "%racine%")
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour ton code malheureusement je n'arrive toujours pas à ce que je souhaite,le changement de nom ne s'effectue pas, peu être faudrait-il intervenir sur les noms avant la copie car dans mon cas je copie les fichiers dans un niveau supérieur de l'arborescence d'où se trouve mon script et toi tu utilise un seul chemin pour tous c'est là ou je ne comprend pas ta démarche ?!
%racine%\%%a signifie que si dans le dossier où j'envoie mes photos y a déjà une photo du même nom elle est renommer avec la fonction random.
Concrètement pour le moment mon deuxième dossier de photo est bien copier là ou je le souhaite mais il écrase les premiers photos et aucun renommage n'a lieu.
Un premier dossier
-->Mon dossier photo (où je souhaite mettre mes photos)
--------->script
--------->dossier de photo en vrac
--------------->dossier de photos1
--------------->dossier de photos2
Après le script
Un premier dossier
-->Mon dossier photo (où je souhaite mettre mes photos)
Photo1
Photo2
Photo3
Photo100
(ensuite j'ai un message me demandant si je souhaite remplacer le fichier photo1 car elle porte le même nom qu'un fichier déjà existant)
--------->script
--------->dossier de photo en vrac
--------------->dossier de photos1
--------------->dossier de photos2
%racine%\%%a signifie que si dans le dossier où j'envoie mes photos y a déjà une photo du même nom elle est renommer avec la fonction random.
Concrètement pour le moment mon deuxième dossier de photo est bien copier là ou je le souhaite mais il écrase les premiers photos et aucun renommage n'a lieu.
Un premier dossier
-->Mon dossier photo (où je souhaite mettre mes photos)
--------->script
--------->dossier de photo en vrac
--------------->dossier de photos1
--------------->dossier de photos2
Après le script
Un premier dossier
-->Mon dossier photo (où je souhaite mettre mes photos)
Photo1
Photo2
Photo3
Photo100
(ensuite j'ai un message me demandant si je souhaite remplacer le fichier photo1 car elle porte le même nom qu'un fichier déjà existant)
--------->script
--------->dossier de photo en vrac
--------------->dossier de photos1
--------------->dossier de photos2
bonjour, désolé pour le déterrage de topic mais je cherche a faire la meme chose, >bachus, pourriez-vous me donner le code final ce qui fonctionne pour vous.
par avance merci.
par avance merci.
Bonjour,
Je souhaiterai exactement faire l'inverse :)
C'est à dire que j'ai un répertoire racine qui contient :
Dossier-Racine :
fichier (1).txt
fichier (1).nfo
fichier (1).tbn
fichier (1).jpg
fichier (2).txt
fichier (2).nfo
fichier (2).tbn
fichier (2).jpg
fichier (3).txt
fichier (3).nfo
fichier (3).tbn
fichier (3).jpg
et je souhaiterai avoir :
Dossier-Racine :
--> Dossier (1) :
fichier (1).txt
fichier (1).nfo
fichier (1).tbn
fichier (1).jpg
--> Dossier (2) :
fichier (2).txt
fichier (2).nfo
fichier (2).tbn
fichier (2).jpg
--> Dossier (3) :
fichier (3).txt
fichier (3).nfo
fichier (3).tbn
fichier (3).jpg
Je souhaiterai exactement faire l'inverse :)
C'est à dire que j'ai un répertoire racine qui contient :
Dossier-Racine :
fichier (1).txt
fichier (1).nfo
fichier (1).tbn
fichier (1).jpg
fichier (2).txt
fichier (2).nfo
fichier (2).tbn
fichier (2).jpg
fichier (3).txt
fichier (3).nfo
fichier (3).tbn
fichier (3).jpg
et je souhaiterai avoir :
Dossier-Racine :
--> Dossier (1) :
fichier (1).txt
fichier (1).nfo
fichier (1).tbn
fichier (1).jpg
--> Dossier (2) :
fichier (2).txt
fichier (2).nfo
fichier (2).tbn
fichier (2).jpg
--> Dossier (3) :
fichier (3).txt
fichier (3).nfo
fichier (3).tbn
fichier (3).jpg
j'ai pas totalement compris malgré mes recherches ce que renvoi %%~nxa et comme je ne peu pas faire un echo :(
en tous cas merci de passer du temps à m'aider je sens qu'on touche au but mais je ne vois pas d'où peu provenir l'erreur j'ai eu beau tester quelques changement rien n'y fait.
mon code est faux, essayer