Déplacer fichiers téléchargés dans dossiers séparés

Fermé
benjjjamin - 1 avril 2014 à 10:47
 benjjjamin - 7 avril 2014 à 07:00
Bonjour,

Je souhaite réaliser un batch qui me prend tous les fichiers images téléchargés dans le dossiers de téléchargement et les déplace dans des dossiers séparés en fonction du début du nom ou peut être en fonction de l'heure à laquelle je les ai téléchargé car j'ai déjà commencé a renommer un bon millier d'entre eux. Mais depuis des années que je collectionne ces photos, il y en a près de 20000. Jusqu'à hier ou j'ai pris connaissance des batchs je maudissait windows qui ne fournit pas de commande précise pour réaliser cette tâche simple, peut être qu'elle existe en batch.

l'idée c'est que par exemple 30 fichiers nommés :
Acier, bois et verre 01
Acier, bois et verre 02
...
qui arrivent dans "C:\Users\benjamin\Google~1\P\B_Arch~1\B_Phot~1"
soient déplacés dans un dossier "C:\Users\benjamin\Google~1\P\B_Arch~1\B_Phot~1\Acier, bois et verre"

J'ai utilisé un batch hier qui n'était pas conçu pour mon application, ce qui eu pour effet de me classer tous mes fichiers non classés dans des dossiers séparés, ...mais avec un fichier par dossier. Et ce n'est pas ce que je veux.
Par sécurité j'ai utilisé un autre batch pour sortir tous les fichiers des sous répertoires et les mettre dans un nouveau dossier à part. Je ne veut pas tout perdre, et ce batch a très bien fonctionné

CD /D "C:\Users\benjamin\Google~1\P\B_Arch~1\B_Phot~1"
For /r %%i in (*.*) do copy "%%i" "C:\Users\benjamin\Google~1\P\B_Arch~1\B_Phot~1\TOUT"

PS : va t'il y avoir un problème de place vu que le dossier google drive est un dossier qui se synchronise sur internet et dispose d'un quota limité?

Merci par avance



A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 avril 2014 à 12:36
hello
est ce que les fichiers ont toujours le même nom sauf le nombre ?
ou faut-il prendre tout sauf le nombre de fin ?
0
Merci de t'attarder sur ma question
En fait ça dépend des fois. C'est pour ça qu'il faudrait peut être tenir compte de l'ordre d'arrivée dans le dossier de téléchargement. Par exemple je télécharge 30 photos d'une page via Fatkun Batch Download image et je dois attendre au moins 1minute pour pouvoir en télécharger de nouvelles qu'il mettra dans un autre dossier, mais ça me parait compliqué.
Alors peut être juste un Batch qui me prend les fichiers qui ont les 3 premières même lettres au début et me les place dans un dossier
0
mais parfois les images que je telecharge ont un nom pourri du style :
509c358eb3fc4b2c55000024_detached-house-in-uccle-l-escaut-architectures_sarahvanhove_05-b-tid-co_sanomaregionalbelgium-375x500
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 avril 2014 à 15:23
avec ce nom, quel nom faut-il donner au répertoire pou les mettre dedans ?
0
bonne question. il faudrait par exemple garder tous les mots de plus de 3 ou 4 lettres et pour les noms tels que image copie(1) et image copie (2) c'est pas grave, je les modifierais manuellement car cela ne concernera que peu d'entre eux. Il doit bien y avoir moyen de trouver un dénominateur commun!? Soit l'heure à laquelle elles ont été téléchargées soit le nom soit l'adresse de la page internet consultée. Enfin le but premier est qu'ils soient rangés par dossier. Je peux faire un peu de manip manuelle quand même derrière... MErci encore Dubcek
0
Dubcek
As tu une idée, de la manière de procéder? ....
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2014 à 12:16
il faudrait un choix précis, pour nommer un dossier avec la page web, comment la connaitre, en demandant interactivement ?
ou avec la date du fichier, voire date et heure (sans les secondes)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 avril 2014 à 14:25
ce script crée des répertoires nommés date-heure et déplace les fichiers dedans.
là il ne fait rien car il y a des echo devant les commandes
@echo  off
setlocal enableDelayedExpansion
for /f "delims=" %%a in ('dir /b/a:-d') do (
set d=%%~ta
set dd=!d:/=-!
set dd=!dd: =-!
set dd=!dd:~0,-3!
if not exist !dd! echo md !dd!
echo mv "%%a" !dd!
)
0
Merci pour ta réponse Dubcek. ok, c'est un peu compliqué de commenter ce que tu viens d'écrire comme code, mais l'idée de l'heure et minutes me plait. Sinon Je viens de penser que cela pourrait être intéressant de garder comme dénominateur commun toutes les lettres et/ou chiffres qui sont identiques dans les téléchargements effectués le même jour ou la même heure. Cela est il possible? Si oui que faudrait il mettre dans le script pour cela? Car je ne vois pas dans ton code où je dois placer mes repertoires source et cible. Merci par avance
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 avril 2014 à 08:31
c'est compliquié en DOS, les commandes sont très limitées
0
OK! alors on va faire plus simple et plus sûr. Quand je télécharge les images je les renommerais manuellement par groupe en : projetA image (1),projetA image (2),... et projetB image (1), projetB (2), ...
Es ce qu'un script batch pourrait détecter tous les fichiers portant les mêmes mots sauf (1), (2),... et les mettre dans un dossier portant ce même nom?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 avril 2014 à 10:00
ou alors on peut prendre les 4 (ou plus) premières lettres du fichier + l'heure de créaion et créer un répertoire avec ca ?
0
Je n'ai pas besoin que l'heure s'affiche, j'aimerai juste qu'il detecte les fichiers avec les mêmes mots et qu'il les regroupe avec ce même groupe de mots. Ce serait plus simple que de tenir compte de l'heure, car j'en télécharge parfois plusieurs par heure.
Donc
1 je télécharge
2 je les renomme par groupe. Ce qui va me créer *1, *2, *3,...
3 je lance ton batch qui reprendra ce même groupe de mots et mettra le fichiers dans un fichier portant ce même groupe de mots sans le chiffre à la fin (car je n'utilise pas de chiffre spécifique dans le nom de mes images. C'est le renommage automatique qui m'ajoute un chiffre entre parenthèses à la fin
Qu'en penses tu ???
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 avril 2014 à 12:38
si ton groupe s'appelle par ex. xxx
il suffit de faire
mkdir xxx
mv xxx*.* xxx
0