Déplacez tous les fichiers de type dans un nouveau dossier dans Windows 7

Quelqu'un peut-il aider à ce sujet.

J'ai des fichiers mp3 partout dans le magasin et donc beaucoup de doublons.

Ce dont j'ai besoin, c'est une fonction de ligne de commande qui va déplacer tous les fichiers de type mp3 vers un nouveau dossier. Je ne crains pas si la structure des fichiers sur le nouveau dossier est conservée ou non.

Je pourrais facilement copier à l'aide de la copie c: *. Mp3 / sc: \ mp3 par exemple, mais en raison de la quantité de fichiers que j'ai, je ne supprime pas l'espace disque pour les copier, d'où la nécessité de bouger.

Merci

Essayez cette commande du dossier de niveau supérieur où vous avez des fichiers mp3.

forfiles /M *.mp3 /C "cmd /c move @file C:\music" 

Notez que si vous avez des fichiers avec des noms en double, les déplacer dans un seul dossier n'est pas la bonne chose à faire. Cela entraînera une perte de données.

Il existe également un moyen de déplacer tous les fichiers correspondant aux critères dans les sous-répertoires avec le drapeau /S :

 forfiles /S /M *mp3 /C "cmd /c move @files C:\music 

Cela recherchera récursivement tous les dossiers dans votre répertoire actuel

Référence: commande Windows Forfiles

Comme exécuté à partir de la ligne de commande:

 for /r %M in (*.mp3) do @if /I "%~dpM" neq "c:\temp\mp3 files\" @echo move /-Y "%M" "c:\temp\mp3 files\" 

Cela fait simplement écho aux commandes de l'écran afin qu'il soit sécurisé de fonctionner et de voir s'il correspond à vos besoins. Il commencera à partir du répertoire actuel, donc, si vous voulez énumérer tout, exécutez-le à partir de c:\ .
Le nommer de votre répertoire de destination est bien sûr pour vous – mais assurez-vous que s'il existe! Vous pouvez également le mettre dans une variable, ou comme paramètre de lot pour éviter de taper des erreurs. Lorsque vous êtes sûr que la sortie est correcte, supprimez @echo , puis testez-le avec quelques fichiers / chemins (assurez-vous d'inclure ceux avec des espaces et des caractères inhabituels)

Peu de mots de prudence:
1. Vous avez dit que vous aviez dups. J'ai mis / -Y comme une sauvegarde, donc déplacer un fichier avec le même nom que déjà déplacé arrêtera ce script en attente de confirmation. Vous pouvez l'écraser avec un commutateur / Y, mais vous risquez d'écraser plus que vous ne le souhaitez.
2. Ceci est à peine réversible ou irréversible (si vous avez des opérations "fausses" doubles – différents fichiers avec le même nom). Faites une sauvegarde avant de commencer!
3. Regardez ce que vous avez avant de vous déplacer – cela vous donnera une liste de tous vos mp3, bien formatés avec le nom, la taille et le répertoire:
for /r %M in (*.mp3) do @echo "%~nxM", "%~zM", "%~dpM" >>filelist.txt
Utilisez une feuille de calcul pour la trier et l'inspecter.

Remarques:
A) En fait, vous pouvez supprimer cela, if vous êtes en partie, car le fait de déplacer un fichier sur lui-même note, mais je trouve qu'il est désordonné 🙂
B) si vous souhaitez le mettre dans un lot, remplacer un % unique par double %%

Je suppose que cela est destiné à être sauvegardé ou similaire. Si oui, j'ai fait un fichier de bat et les tâches planifiées l'exécutent une fois par semaine.

Essayez de faire un fichier de chauve-souris.

Ouvrez le bloc-notes et saisissez

 xcopy "file location" "file destination" /i /e /y /z 

par exemple

 xcopy "c:\allmusic\mp3\" "e:\music\" /i /e /y /z 

Enregistrez le fichier sous .bat (par ex. "CopyFiles.bat")

Vous pouvez avoir plusieurs lignes mais une par ligne. PAR EXEMPLE

 xcopy "c:\allmusic\mp3\" "e:\music\" /i /e /y /z xcopy "c:\allmusic\wav\" "e:\music\" /i /e /y /z xcopy "c:\allmusic\wmv\" "e:\music\" /i /e /y /z 

Notez que les /i /y /e et /z ont des significations qui peuvent être souhaitables ou non (telles que l'écrasement), voir une liste ici:

 /A Copies only files with the archive attribute set, doesn't change the attribute. /M Copies only files with the archive attribute set, turns off the archive attribute. /D:mdy Copies files changed on or after the specified date. If no date is given, copies only those files whose source time is newer than the destination time. /EXCLUDE:file1[+file2][+file3]... Specifies a list of files containing strings. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. For example, specifying a string like \obj\ or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively. /P Prompts you before creating each destination file. /S Copies directories and subdirectories except empty ones. /E Copies directories and subdirectories, including empty ones. Same as /S /E. May be used to modify /T. /V Verifies each new file. /W Prompts you to press a key before copying. /C Continues copying even if errors occur. /I If destination does not exist and copying more than one file, assumes that destination must be a directory. /Q Does not display file names while copying. /F Displays full source and destination file names while copying. /L Displays files that would be copied. /H Copies hidden and system files also. /R Overwrites read-only files. /T Creates directory structure, but does not copy files. Does not include empty directories or subdirectories. /T /E includes empty directories and subdirectories. /U Copies only files that already exist in destination. /K Copies attributes. Normal Xcopy will reset read-only attribute /N Copies using the generated short names. /O Copies file ownership and ACL information. /X Copies file audit settings (implies /O). /Y Suppresses prompting to confirm you want to overwrite an existing destination file. /-Y Causes prompting to confirm you want to overwrite an existing destination file. /Z Copies networked files in restartable mode. 

Vous pouvez également utiliser "déplacer" qui est similaire à couper et coller

par exemple

Déplacer "source" "destination"

 move "c:\allmusic\mp3\" "e:\music\" /i /e /y /z move "c:\allmusic\wav\" "e:\music\" /i /e /y /z move "c:\allmusic\wmv\" "e:\music\" /i /e /y /z 

MODIFIER

Pour copier différents dossiers en bouclant, essayez

 for /f %%f in ('dir /bc:\') do ( cd\ cd %%f copy *.mp3 "e:\music" for /f %%g in ('dir /b %%f') do ( cd\ cd %%g copy *.mp3 "e:\music" for /f %%h in ('dir /b %%g') do ( cd\ cd %%h copy *.mp3 "e:\music" pause ) ) ) 

Notez que cela comporte 3 niveaux de sous-dossiers

S'il ne faut pas qu'il s'agisse d'une opération de ligne de commande, vous pouvez simplement utiliser la zone de recherche de l'explorateur de fichiers. Ouvrez C :, recherchez *.mp3 , appuyez sur Ctrl + A et déplacez les fichiers. On vous interroge sur les doublons.