Création automatique de répertoire à partir de la date des fichiers

Création automatique de répertoire à partir de la date des fichiers - Logiciels - Windows & Software

Marsh Posté le 02-05-2010 à 23:12:10    

Bonjour,
 
Je cherche un logiciel (gratuit si possible :) qui me permettrait de regrouper des fichiers dans différents répertoires ayant chacun pour nom la date des fichiers en question.
 
Ainsi, à partir d'un répertoire ayant différents fichiers créés à 4 dates différentes, j'aimerai obtenir 4 répertoires portant comme noms les 4 dates en question et que l'ensemble des fichiers se retrouve dans le répertoire correspondant à sa date.
 
 
J'espère être suffisamment claire dans ma question. :D  
 
J'ai essayé de trouver la réponse en parcourant le forum mais je n'arrive pas à trouver de réponse. J'espère ainsi ne pas poser une question à laquelle vous auriez déjà répondu...  
 
Merci d'avance quoiqu'il en soit, que vous m'apportiez la réponse ou que vous preniez le temps de trouver une réponse à ma question
 
Sophie  
 

Reply

Marsh Posté le 02-05-2010 à 23:12:10   

Reply

Marsh Posté le 03-05-2010 à 12:37:26    

Hello
 
En vbs ca ne devrait pas etre trop compliqué.
Essaie de poser ta question ici


Message édité par SuppotDeSaTante le 03-05-2010 à 12:37:34

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-05-2010 à 22:08:47    

Merci pour la suggestion... mais par contre c'est mission impossible pour moi... je suis une vraie quiche alors créer moi même mon "programme" (ou script) je pense que ce sera mission impossible...
Il me faudrait un truc un peu plus "automatique".
 
Merci tout de même pour la proposition
 

Reply

Marsh Posté le 03-05-2010 à 22:43:05    

Si c'est juste à faire une fois, il suffit de trier les fichiers par date dans l'explorateur Windows, puis de faire la copie manuellement !


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 04-05-2010 à 08:04:19    

C'est ce que je suis en train de faire mais j'ai un peu plus de 100 000 fichiers sur 10 années avec environ 100 dates par année (1000 répertoires à faire...)  :pt1cable:  :pfff:  
 
Merci quand même de vos suggestions... mais je suis toujours preneuse du conseil qui m'indiquera LE logiciel miracle !
 

Reply

Marsh Posté le 04-05-2010 à 15:40:35    

SophieParis a écrit :

C'est ce que je suis en train de faire mais j'ai un peu plus de 100 000 fichiers sur 10 années avec environ 100 dates par année (1000 répertoires à faire...)  :pt1cable:  :pfff:  
Merci quand même de vos suggestions... mais je suis toujours preneuse du conseil qui m'indiquera LE logiciel miracle !


 
Bonjour SophieParis,
 
Et les moteurs de recherche interne: Copernic desktop, Exalead, Google, ne permettent-ils pas de faire ce type de recherche de date de création?
 
Je n'ai jamais cherché à reproduire votre tri sur ces moteurs, et de mémoire je ne sais pas s'ils font ce boulot, comme je ne peux accéder à ces moteurs avant ce soir, un internaute vous aura fourni la réponse d'ici là sans doute.
Votre recherche de fichiers par date se rapprocherait du type de gestionnaire de fichiers ACDSee (gestionnaire d'images, principalement); sauf erreur.
Ce qui éviterait de renommer tous les fichiers... et de recréér mille dossiers et sous-dossiers, etc.
bonne recherche
 :hello:  
S.
 
J'édite.
message ajouté supprimé, concernait datetee qui ne fonctionne que pour les images et pour macintosh, dommage...
A+
S.


Message édité par Sacripot le 04-05-2010 à 16:09:14

---------------
Windows XP Home, Windows XP Pro, until...
Reply

Marsh Posté le 04-05-2010 à 17:27:49    

Re
 
Bon j'ai pas eu de réponse à mon MP.
 
Je mets tout ici :
 
Un fichier Excel, avec une procédure et une fonction, qui te demande où sont situés les fichiers à trier (Qu'on va appeler dossier Essai), ensuite où veux tu qu'il les trie (Dossier qu'on va appeler EssaiTri)
 
Puis il va regarder la date de création de chaque fichier, et créer un dossier dans EssaiTri au format de date Annee-Mois-Jour (Pour aujourd'hui ca ferait 2010-05-04. Les / sont interdits sous windows, et ranger d'abord par l'année et plus judicieux pour pouvoir trier par la suite) si le dossier n'existe pas et y copier le fichier, et s'il existe il copiera seulement le fichier.
 
Si tu viens ajouter des fichiers dans "Essai" par la suite, et que tu lances la procedure, il viendra ajouter les nouveaux fichiers aux dossiers existants, et si le dossier n'existe pas le creer pour y copier le fichier.
 
J'ai préféré la méthode d'un dossier source et d'un dossier cible pour eviter de foutre en l'air le dossier initial au cas ou un plantage surviendrai.
 
En image.

  • Le dossier Essai au commencement avec tous les fichiers à trier :

http://dje69r.free.fr/1.JPG
On voit bien les dates de création des fichiers presents dans Essai
 

  • On passe la moulinette et on se retrouve avec ca (Ne pas faire attention a la date de création. Comme le fichier est copié, la date de création c'est celle du jour, mais ce sont les bons fichiers ;) ):

http://dje69r.free.fr/2.JPG
 

  • Le Code pour Excel (mais doit marcher dans Word etc.) :
Code :
  1. Function ChoixDossierFichier(SelType As Byte, Msg As String) As String
  2.      Dim objShell As Object, objFolder As Object
  3.      Dim Chemin As String
  4.      Dim FlagChoix As Long, NbPoint As Integer
  5.      If SelType = 0 Then
  6.           FlagChoix = &H1
  7.      Else
  8.           FlagChoix = &H4000
  9.      End If
  10.      Set objShell = CreateObject("Shell.Application" )
  11.      On Error Resume Next
  12.      Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
  13.      NbPoint = InStr(objFolder.Title, ":" )
  14.      If NbPoint = 0 Then
  15.           Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
  16.      Else
  17.           Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
  18.      End If
  19.      ChoixDossierFichier = Chemin
  20. End Function
  21. Sub SophieParis()
  22.     Dim objFSO, objDossier, objFichier, objResultat
  23.     Dim Repertoire, NomFichierTxt
  24.    
  25.     On Error Resume Next
  26.    
  27.     RepertoireSource = ChoixDossierFichier(0, "Sélectionnez le dossier où se trouve les fichiers à trier" )
  28.     RepertoireDestination = ChoixDossierFichier(0, "Sélectionnez le dossier où seront triés les fichiers" )
  29.      
  30.     Set objFSO = CreateObject("Scripting.FileSystemObject" )
  31.     Set objDossier = objFSO.GetFolder(RepertoireSource)
  32.     If (objDossier.Files.Count > 0) Then
  33.         For Each objFichier In objDossier.Files
  34.            
  35.             DateCreation = Format(objFichier.DateCreated, "yyyy-mm-dd" )
  36.             If objFSO.folderexists(RepertoireDestination & "\" & DateCreation) = False Then
  37.                 Set MDir = objFSO.CreateFolder(RepertoireDestination & "\" & DateCreation)
  38.                 objFSO.copyfile RepertoireSource & "\" & objFichier.Name, _
  39.                 RepertoireDestination & "\" & DateCreation & "\" & objFichier.Name
  40.             Else
  41.                 objFSO.copyfile RepertoireSource & "\" & objFichier.Name, _
  42.                 RepertoireDestination & "\" & DateCreation & "\" & objFichier.Name
  43.             End If
  44.         Next
  45.     End If
  46.    
  47.     Set objDossier = Nothing
  48.     Set objFSO = Nothing
  49. End Sub


 

  • Ou directement le fichier : ICI


  • EnJoY !


Cordialement

Message cité 1 fois
Message édité par SuppotDeSaTante le 04-05-2010 à 17:39:02

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 04-05-2010 à 17:35:52    

SuppotDeSaTante a écrit :

Re
Bon j'ai pas eu de réponse à mon MP.
Je mets tout ici :
[...]
Cordialement


 
merci!
Je n'avais pas posé la question à l'origine mais j'essaierai à l'occasion, la procédure est intéressante...
 ;)  
S.
 
OK fait!


Message édité par Sacripot le 05-05-2010 à 11:39:06

---------------
Windows XP Home, Windows XP Pro, until...
Reply

Marsh Posté le 05-05-2010 à 11:40:44    

SuppotDeSaTante a écrit :

:jap:
Mais c'est inutile de reprendre l'ensemble de mon message, ca rallonge le sujet pour pas grand chose ;)


 
OK désolé,! c'est rectifié!
(fin du fil en ce qui me concerne, évidemment  ;)  
 :hello:  
 
S.
 
 


---------------
Windows XP Home, Windows XP Pro, until...
Reply

Marsh Posté le 05-05-2010 à 20:33:44    

Alors là je suis sur le cul !!!
MERCI, MERCI, MERCI !!!
 
Prendre le temps de me répondre, je trouve déjà ça super mais en plus prendre le temps de me créer la solution je trouve ça tout simplement incroyable...
 
Je n'ai pas encore essayé la macro mais que cela fonctionne ou non je dis merci.
 
C'est vraiment gentil de ta part dje69r !!
 
PS : j'aimerai aussi un truc pour devenir encore plus belle, plus riche, plus intelligente... T'aurais pas un truc par hasard ?

Reply

Marsh Posté le 05-05-2010 à 20:33:44   

Reply

Marsh Posté le 05-05-2010 à 20:36:46    

et désolé de ne pas avoir répondu au MP, je débute un peu sur les forums et je suis un peu quiche de temps en temps... je n'avais pas vu le "vous avez 1 message"

Reply

Marsh Posté le 05-05-2010 à 21:56:53    

Je viens d'essayer et ça marche parfaitement... ...sauf que ça s'applique sur la "Date de création" et non pas sur la "Date"
et je ne sais pas pourquoi mais quand il s'agit de photos la date de prise de vue (celle qui m'intéresse en l'occurrence pour ce type de fichier) est indiquée en "Date" alors que la date de création indique un peu n'importe quoi (comme par exemple la date où j'ai copié le fichier).
 
Je cherche à faire la modif dans le code mais je ne sais quoi mettre à la place de DateCreated
Si quelqu'un sait ce que je dois mettre... merci encore

Reply

Marsh Posté le 05-05-2010 à 22:41:02    

J'ai mis  
"DateLastModified" à la place de "DateCreated" et ça fonctionne...
Je ne trouve pas ça logique que la date de prise de la photo soit "DateLastModified" alors que la date de copie du fichier soit "DateCreated" mais c'est marche et c'est le principal pour moi.
 
Encore un super MERCI !!!!!!!!!!!!!!
(J'suis trop contente !!)

Reply

Marsh Posté le 05-05-2010 à 23:02:49    

Trop TAUPE COULE !!! J'appuie sur le bouton et les milliers de fichiers se retrouvent triés tout comme il faut dans des centaines de fichiers crées automatiquement... c'est-y pas bo la vie ?!!
 
MERCI !!

Reply

Marsh Posté le 05-05-2010 à 23:24:43    

:lol:
Si ca c'est pas de l'engoument !
 
Bah tu vois, c'est aussi ca le "plaisir" de faire un truc qui marche :D
 
Parcontre pour etre plus belle, plus riche et plus intelligente désolé ca ne se code pas encore... Quoi que, pour la beauté il y a bien photoshop... ahum !
 
Ravi d'avoir pu t'aider :jap:
 
Ah et pour la date du cliché, j'ai pas encore regardé mais si ca te va avec DateLastModified, c'est cool ;)


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 06-05-2010 à 16:18:26    

Salut, je prends souvent des photos et elles sont en vrac sur la carte SD, donc je dois les copier sur mon disque, et je dois faire le même tri que toi.
J'ai utilisé autoit pour parvenir à mes fins.
 
Toutes mes photos sont donc en vrac dans un dossier.
Je place mon script autoit (compilé en .exe) dans ce dossier, et je l'exécute.
Je récupère ainsi mes dossiers avec la bonne date, et une copie des photos à l'intérieur (leur date n'est pas changée).
Jamais eu de foirage, et comme je fais une copie j'ai une branche de secours.
Je ne gère pas les sous-dossiers (pas besoin dans mon cas).
 
Je colle ici le script autoit si ça peut aider quelqu'un.

Code :
  1. Dim $FolderName = @WorkingDir ;traite les fichiers se trouvant dans le dossier courant
  2. ScanFolder($FolderName) ;parcours le dossier et traite les fichiers à l'intérieur
  3. Func ScanFolder($SourceFolder)
  4. Local $Search
  5. Local $File
  6. Local $FileAttributes
  7. Local $FullFilePath
  8. $Search = FileFindFirstFile($SourceFolder & "\*.*" ) ;traite tous les types de fichiers : utiliser *.jpg pour ne traiter que les .jpg ou .JPG par exemple
  9. While 1
  10.  If $Search = -1 Then
  11.   ExitLoop
  12.  EndIf
  13.  $File = FileFindNextFile($Search)
  14.  If @error Then ExitLoop
  15.  $FullFilePath = $SourceFolder & "\" & $File
  16.  $t =  FileGetTime($FullFilePath, 0) ;récupère la date de modification du fichier
  17.  $yyyymd = $t[0] & "-" & $t[1] & "-" & $t[2] ;met la date de modification sous la forme YYYY-MM-DD
  18.  If not FileExists(@WorkingDir & "\" & $yyyymd) Then
  19.    DirCreate(@WorkingDir & "\" & $yyyymd) ;crée le dossier s'il n'existe pas
  20.  EndIf
  21.  FileCopy($FullFilePath, @WorkingDir & "\" & $yyyymd) ;copie le fichier dans le bon dossier (en conservant les paramètres de date du fichier original)
  22. WEnd
  23. FileClose($Search)
  24. EndFunc

Reply

Marsh Posté le 06-05-2010 à 16:28:54    

Thx blueteen
 
Je mets aussi le vbs pour ceux que ca interresse.


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 21-04-2017 à 14:43:45    

Bonjour,
 
je déterre ce post car le script m'intéresser beaucoup, mais je ne sais pas comment le faire fonctionner (très mauvaise connaissance en script).
J'ai copier/coller le script sur notpad++ puis enregistré en *.bat .
J'ai mis le *.bat dans mon dossier photo et double clic dessus pour l'actionner....mais rien ne se passe....
 
Est ce que j'ai loupé quelque chose?
merci

Reply

Marsh Posté le 21-04-2017 à 18:24:38    

Le script vbs doit être nommé ..... *.vbs
et non *.bat


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Marsh Posté le 21-04-2017 à 19:53:12    

Euh... y'a le lien...
Le fichier y est toujours...  
click droit, enregistrer sous...


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 22-04-2017 à 09:29:59    

Ah oui effectivement.....génial !!!!
En fait je fesais un copier/coller du script puis enregistrement en *.bat....
en *.vbs ça marche mieux effectivement !!!
 
Par contre moi je serai intéressé pour créer mes dossiers avec la date de prise de vue des photos...
Je pense qu'il n'y a pas grand chose à modifier mais je ne trouve pas de réponse sur le net .
 
J'ai essayé de remplacé la commande avec "DateLastModified"....mais ce n'est toujours pas la bonne date.
 
merci


Message édité par sebj le 22-04-2017 à 10:19:38
Reply

Marsh Posté le 22-04-2017 à 11:04:02    

C'est un peu plus compliqué pour aller lire la date de cliché...
Ce topic doit répondre à tes attentes : https://www.excel-downloads.com/thr [...] st.215440/


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 22-04-2017 à 12:56:02    

Il existe un logiciel pour classer les photos dans des dossiers et sous dossiers portant a date du cliché. (année, mois, jour)
Il s'appelle photomove.
La version que j'ai est la 0.2 elle était gratuite.
On la trouve encore là: quand le serveur veut bien... c'est exactement celle que j'ai utilisé (même md5)
http://photomove.software.informer [...] ownloading
La version actuelle ne semble plus vraiment gratuite d'après la page d'accueil.
Une autre pratique consiste à modifier le nom du fichier par lot avec xnview où on peut remplacer une chaine par la date du cliché (entre autres).


Message édité par yf38 le 22-04-2017 à 13:11:39
Reply

Marsh Posté le 22-04-2017 à 14:30:46    

Merci dje69r,
 
j'ai lu sur le lien que tu m'as transmis et.....?.....mdr je comprend pas trop....j'ai essayé des combinaison, mais en vain...
 
yf38, pour la commande xnview, c'est pas renommer un fichier que je cherche, mais bien créer des dossiers automatiquement à la date de prise de vu de mes photos pour les classer.
 
Je vais continuer à chercher car le script est super, mais me manque juste une donnée ...

Reply

Marsh Posté le 22-04-2017 à 15:17:12    

sebj a écrit :

Merci dje69r,
yf38, pour la commande xnview, c'est pas renommer un fichier que je cherche, mais bien créer des dossiers automatiquement à la date de prise de vu de mes photos pour les classer.
 
Je vais continuer à chercher car le script est super, mais me manque juste une donnée ...


 
J'ai bien compris, c'est pourquoi je te proposais photomove qui fait ça.
xnview c'était en prime.

Reply

Marsh Posté le 22-04-2017 à 17:03:02    

j'avais un peu peur du logiciel (virus...), car apparemment pas beaucoup connu sur le net .
je l'ai quand même téléchargé et j'avoue qu'il est pas mal et fait le boulot souhaité...
 
Ps:....je vire de suite car je pense mettre fais voler mes photos sur mes dossiers test....
Ca m'a très bien classé mes photos, mais après fermeture du logiciel, mon pare feu m’avertissait que le logiciel voulais accéder au net....mauvaise manipe , j'ai accepté et touts les répertoires se sont vidés.....plus de photos.
je vais approfondir mais vraiment, vraiment suspect !!!!  


Message édité par sebj le 22-04-2017 à 18:20:35
Reply

Marsh Posté le 22-04-2017 à 19:35:03    

Tu m'etonnes, je l'ai utilisé des années et je n'ai jamais eu ce genre de problème.
Si tu as pris la version 0.2, celle que j'ai utilisée) elle est rigoureusement identique à la mienne.
Si tu as pris une version plus récente je n'en sais rien, je ne les ai jamais utilisées.
Je ne l'utilise pas en ce moment, parce que, en fin de compte, le classement en question ne me servait pas vraiment.
C'est pourquoi j'ai parlé de xnview qui permet de renommer par lot, et que j'utilise pour nommer les photos avec  la date et l'heure.
ça permet de visualiser en diaporama par exemple, dans l'ordre chronologique des prises en vue, et encore plus quand elles sont prises par plusieurs appareils, pourvu qu'ils soient à l'heure...
Vérifie les options, peut-être qu'il y a une mise à jour automatique, ce qui expliquerait l'accès au net.
Pour les répertoires vides (lequels ? ), attention, il y a une option qui permet de faire une copie des fichiers sources en les laissant à leur place, ou en les supprimant après copie (d'où le nom move).

 

edit:
La maison ne reculant devant aucun sacrifice, j'ai réinstallé la version 0.2 et j'ai traité un dossier avec 81 photos.
Pas de problème, ça fonctionne comme prévu, et les originaux n'ont pas bougé, il faut cliquer sur COPY et pas sur MOVE.
Pour l'activité réseau, il y en a tellement avec Windows 10 que si on regarde on est malade... mais les adresses IP en face sont chez ... Microsoft.
Mon pare-feu: celui de W10 il ne m'a rien dit. Le tien te dit quoi ?
Tu es certain que l'accès demandé était au net ? parce que parfois c'est simplement un PC ou NAS du réseau local.
Je n'ai pas vu d'option de mise à jour.


Message édité par yf38 le 22-04-2017 à 21:01:35
Reply

Marsh Posté le 22-04-2017 à 21:17:38    

Ben écoute, j'en ai retraité d'autre et pas de soucis apparent....
J'ai la version 2.5.
Après j'avais téléchargé une première version mais pas sur le site de l’éditeur....
Oui sûr que mon pare feu à bien bloqué le logiciel, mais est ce que l'autre était vérolé ??...
oui je fais que des copies maintenant.....et je déplace de suite.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed