Cherche outil freeware de tri/recherche de fichiers sur un serveur

Cherche outil freeware de tri/recherche de fichiers sur un serveur - Logiciels - Windows & Software

Marsh Posté le 19-06-2006 à 16:40:22    

J'ai l'intention de faire du tri sur un serveurs de fichiers afin d'optimiser l'espace disque et je recherche un freeware permettant de faire des recherches de fichiers selon criteres (Taille en Mo, Date d'ancienneté, Modification, Derniers accès...etc...).  
Voilà si vous avez des outils en freeware à conseiller, merci d'avance

Reply

Marsh Posté le 19-06-2006 à 16:40:22   

Reply

Marsh Posté le 19-06-2006 à 17:08:22    

Salut,
 
La recherche integré a Windows fait tout ça ! ;)


---------------
Tihz
Reply

Marsh Posté le 19-06-2006 à 17:09:07    

Très bon : Treesize Professional

Message cité 1 fois
Message édité par Wolfman le 19-06-2006 à 17:24:19
Reply

Marsh Posté le 19-06-2006 à 17:10:02    

cela dépend du résultat que tu souhaites
 
sinon il y a l'utilitaire robocopy de Microsoft http://www.microsoft.com/downloads [...] laylang=en

Reply

Marsh Posté le 20-06-2006 à 14:26:26    

Wolfman a écrit :

Très bon : Treesize Professional


 
D'acc il a vraiment plein d'options de recherche intéressantes mais que dans la version shareware, dommage.....Et j'en cherche qui aurait comme options "derniere modification", "dernier accès" si possible (comme le fait Treesize Pro mais en freeware :)

Reply

Marsh Posté le 20-06-2006 à 14:31:15    

Si tu as besoin du soft pour une durée limitée, la version shareware te suffira.

Reply

Marsh Posté le 20-06-2006 à 16:28:04    

flashy_fiber a écrit :

J'ai l'intention de faire du tri sur un serveurs de fichiers afin d'optimiser l'espace disque et je recherche un freeware permettant de faire des recherches de fichiers selon criteres (Taille en Mo, Date d'ancienneté, Modification, Derniers accès...etc...).
Voilà si vous avez des outils en freeware à conseiller, merci d'avance


Voici le VBScript que j'utilise (donc testé...) avec ROBOCOPY Version XP010 pour lister, copier, déplacer et synchroniser des fichiers sur mon serveur :

 
Code :
  1. '-------------------------------------------------------------
  2. ' Utilitaire :        ROBOCOPY22.vbs (version 2.2)
  3. ' But Ial:        Faciliter et automatiser l'utilisation de la commande DOS robocopy.exe.
  4. '            Cet utilitaire sera utilisé essentiellement pour analyser et purger les fichiers
  5. '            utilisateurs sur le serveur de fichiers.
  6. ' But IIaire :    approfondir le langage de script VBS
  7. ' Installation :    1/ Ce script sur le bureau du serveur de fichier
  8. '            2/ robocopy.exe XP010 (Ressource Kit XP) dans le répertoire %windir%
  9. ' Auteur :        J.Philippe SOSSON
  10. ' Versions    1.0    Menu + options de base : copier, déplacer, lister, synchroniser,
  11. '            critères selon la taille des fichiers, date de modification
  12. '        2.0    * Optimisation du code : Fonctions, procédures, tableaux et constantes
  13. '            * Ajout du critère selon la date d'accès
  14. '            * Correction de la fonction Mirroir : /MIR ne fonctionne pas avec l'option /XX
  15. '        2.1    * Ajout de l'option R) pour répéter la dernière commande
  16. '            * Modification de la sortie de l'utilitaire
  17. '        2.2    * Ajout de la gestion des messages en sortie de robocopy
  18. '            * Ajout d'un filtre sur les fichiers
  19. '-------------------------------------------------------------
  20. '------ Déclaration des variables et des constantes
  21. Option Explicit '------ Forcer la déclaration des variables
  22. Dim wsh, fso, FichierJournal
  23. Const C_Lecture = 1, C_Ecriture = 2
  24. Const C_FichierJournal = "c:\robocopy.txt"
  25. Dim CmdeRobocopy
  26. Dim ChoixMenu
  27. Dim SaisieDossier, SaisieFichier, SaisieDate, SaisieTaille, Validation
  28. Dim T_SelectionDossier(1)
  29. Const C_DossierSource = 0, C_DossierDestination = 1
  30. Dim T_SelectionDate(1, 3)
  31. Const C_DateOption = 0, C_DateTexte = 1
  32. Const C_DateAccesAnterieure = 0, C_DateAccesPosterieure = 1, C_DateModificationAnterieure = 2, C_DateModificationPosterieure = 3
  33. Dim T_SelectionTaille(1, 1)
  34. Const C_TailleOption = 0, C_TailleTexte = 1
  35. Const C_TailleMin = 0, C_TailleMax = 1
  36. Dim  CodeRetour, Bit, T_MessageRetour(5)
  37. '------ Déclaration des fonctions et procédures
  38. Function SelectionDossier(TypeDossier)
  39.     Do
  40.         SaisieDossier = InputBox("Dossier" & T_SelectionDossier(TypeDossier), "ROBOCOPY" )
  41.     Loop Until fso.FolderExists(SaisieDossier)
  42.     SelectionDossier = " " & SaisieDossier
  43. End Function
  44. Function SelectionFichier()
  45.     SaisieFichier = InputBox("Tri sur les fichiers" & Chr(10) & "Caratères génériques acceptés, *.* par défaut", "ROBOCOPY" )
  46.     If Len(SaisieFichier) > 0 Then
  47.         SelectionFichier = " " & SaisieFichier
  48.     End If
  49. End Function
  50. Function ChoixDate()
  51.     '------ Filtre sur les dates d'accès OU les dates de modification
  52.     If MsgBox("Souhaitez-vous trier les fichiers sur les dates d'accès", vbYesNo + vbQuestion, "ROBOCOPY" ) = vbYes Then
  53.         ChoixDate = SelectionDate(C_DateAccesAnterieure)
  54.         ChoixDate = ChoixDate & SelectionDate(C_DateAccesPosterieure)
  55.     Else
  56.         If MsgBox("Souhaitez-vous trier les fichiers sur les dates de modification", vbYesNo + vbQuestion, "ROBOCOPY" ) = vbYes Then
  57.             ChoixDate = SelectionDate(C_DateModificationAnterieure)
  58.             ChoixDate = ChoixDate & SelectionDate(C_DateModificationPosterieure)
  59.         End If
  60.     End If
  61. End Function
  62. Function SelectionDate(TypeDate)
  63.     Do
  64.         Validation = 0
  65.         SaisieDate = InputBox("Fichiers dont la date" & T_SelectionDate(C_DateTexte, TypeDate) & Chr(10) _
  66.                     & "Bouton [Annuler] si aucune, sinon JJ/MM/AAAA", "ROBOCOPY" )
  67.         If Len(SaisieDate) = 0 Then
  68.             Validation = vbYes
  69.         Else
  70.             if Len(SaisieDate) = 10 Then
  71.                 If IsNumeric(Right(SaisieDate,4)) And IsNumeric(Mid(SaisieDate,4,2)) And IsNumeric(Left(SaisieDate,2)) Then
  72.                     Validation = MsgBox("Veuillez confirmer : fichiers dont la date" _
  73.                                     & T_SelectionDate(C_DateTexte, TypeDate) & " à " & SaisieDate, vbYesNo + vbExclamation, "ROBOCOPY" )
  74.                     If Validation = vbYes Then
  75.                         SaisieDate = Right(SaisieDate,4) & Mid(SaisieDate,4,2) & Left(SaisieDate,2)
  76.                         SelectionDate = T_SelectionDate(C_DateOption, TypeDate) & SaisieDate
  77.                     End If
  78.                 End If
  79.             End If
  80.         End If
  81.     Loop Until Validation = vbYes
  82. End Function
  83. Function ChoixTaille()
  84.     If MsgBox("Souhaitez-vous trier les fichiers sur la taille", vbYesNo + vbQuestion, "ROBOCOPY" ) = vbYes Then
  85.         ChoixTaille = SelectionTaille(C_TailleMin)
  86.         ChoixTaille = ChoixTaille & SelectionTaille(C_TailleMax)
  87.     End If
  88. End Function
  89. Function SelectionTaille(TypeTaille)
  90.     Do
  91.         Validation = 0
  92.         SaisieTaille = InputBox("Fichiers dont la taille est" & T_SelectionTaille(C_TailleTexte, TypeTaille) & Chr(10) _
  93.                             & "Bouton [Annuler] si aucune, sinon X (en Go)", "ROBOCOPY" )
  94.         If Len(SaisieTaille) = 0 Then
  95.             Validation = vbYes
  96.         Else
  97.             If IsNumeric(SaisieTaille) Then
  98.                 Validation = MsgBox("Veuillez confirmer : fichiers dont la taille est" _
  99.                                 & T_SelectionTaille(C_TailleTexte, TypeTaille) & " à " & SaisieTaille & " Go" _
  100.                                 , vbYesNo + vbExclamation, "ROBOCOPY" )
  101.                 If Validation = vbYes Then
  102.                     SelectionTaille = T_SelectionTaille(C_TailleOption, TypeTaille) & Cstr(Clng(SaisieTaille)*1024*1024)
  103.                 End If
  104.             End If
  105.         End If
  106.     Loop Until Validation = vbYes
  107. End Function
  108. Function Journal()
  109.     Journal = " /LOG:c:\robocopy.log /NDL" 'Fichier journal et contenu
  110.     If MsgBox("Souhaitez-vous un affichage de l'exécution de la commande dans la console windows" _
  111.                 , vbYesNo + vbQuestion, "ROBOCOPY" ) = vbYes Then
  112.         Journal = Journal & " /ETA /TEE"
  113.     End If
  114. End Function
  115. Sub ArchiveCommande(CmdeRobocopy, TypeAcces)
  116.     Set FichierJournal = fso.OpenTextFile(C_FichierJournal, TypeAcces, True)
  117.     If TypeAcces = C_Lecture Then
  118.         CmdeRobocopy = FichierJournal.ReadLine
  119.     Else
  120.         FichierJournal.WriteLine CmdeRobocopy
  121.     End If
  122.     FichierJournal.Close
  123. End Sub
  124.    
  125. Function MessageRetour(CodeRetour)
  126.     If CodeRetour = 0 Then
  127.         MessageRetour = T_MessageRetour(5)
  128.     Else
  129.         For Bit = 0 To 4
  130.             If (CodeRetour And (2^Bit)) = (2^Bit) Then
  131.                 MessageRetour = MessageRetour & T_MessageRetour(Bit)
  132.             End If
  133.         Next
  134.     End If
  135. End Function
  136.    
  137. Sub ExecuteCommande(CmdeRobocopy)
  138.     If MsgBox("Souhaitez-vous exécuter la commande suivante :" & Chr(10) _
  139.                 & CmdeRobocopy, vbYesNo + vbExclamation, "ROBOCOPY" ) = vbYes Then
  140.         CodeRetour = wsh.Run(CmdeRobocopy, 1, True) '------ Execution avec attente de la fin de la commande
  141.         MsgBox MessageRetour(CodeRetour), vbOKOnly, "ROBOCOPY"
  142.         wsh.Run("notepad.exe c:\robocopy.log" ) '------ Ouverture du fichier journal
  143.         ArchiveCommande CmdeRobocopy, C_Ecriture
  144.     End If
  145. End Sub
  146. '------ Initialisation des variables
  147. Set wsh = CreateObject("WScript.Shell" )
  148. Set fso = CreateObject("Scripting.FileSystemObject" )
  149. T_SelectionDossier(C_DossierSource) = " Source"
  150. T_SelectionDossier(C_DossierDestination) = " Destination"
  151. T_SelectionDate(C_DateOption, C_DateAccesAnterieure) = " /MINLAD:"
  152. T_SelectionDate(C_DateOption, C_DateAccesPosterieure) = " /MAXLAD:"
  153. T_SelectionDate(C_DateOption, C_DateModificationAnterieure) = " /MINAGE:"
  154. T_SelectionDate(C_DateOption, C_DateModificationPosterieure) = " /MAXAGE:"
  155. T_SelectionDate(C_DateTexte, C_DateAccesAnterieure) = " d'accès est antérieure"
  156. T_SelectionDate(C_DateTexte, C_DateAccesPosterieure) = " d'accès est postérieure"
  157. T_SelectionDate(C_DateTexte, C_DateModificationAnterieure) = " de modification est antérieure"
  158. T_SelectionDate(C_DateTexte, C_DateModificationPosterieure) = " de modification est postérieure"
  159. T_SelectionTaille(C_TailleOption, C_TailleMin) = " /MIN:"
  160. T_SelectionTaille(C_TailleOption, C_TailleMax) = " /MAX:"
  161. T_SelectionTaille(C_TailleTexte, C_TailleMin) = " supérieure"
  162. T_SelectionTaille(C_TailleTexte, C_TailleMax) = " inférieure"
  163. T_MessageRetour(0) = "Un ou plusieurs fichiers ont été copiés avec succès. "
  164. T_MessageRetour(1) = "Certains fichiers ou dossiers sont en EXTRA (Absent de la source, mais présent dans la destination). " & _
  165.             "Visualiser le fichier journal afin d'effectuer des opérations si nécessaire (sauf en cas de listage). "
  166. T_MessageRetour(2) = "Certains fichiers ou dossiers sont en dissonance. Visualiser le fichier journal afin d'effectuer des opérations si nécessaire. "
  167. T_MessageRetour(3) = "Certains fichiers ou dossiers n'ont pas pu être copiés (malgré le nombre et le délai des reprises spécifiés). "
  168. T_MessageRetour(4) = "Erreur sérieuse. Robocopy n'a copié aucun fichier. C'est une erreur d'utilisation de la commande " & _
  169.             "ou une erreur due aux privilèges d'accès insuffisants sur les dossiers sources ou destinations. "
  170. T_MessageRetour(5) = "Aucune erreur et aucune copie : les dossiers sources et destinations sont synchronisés. "
  171. '------ MAIN ------
  172. Do
  173.     CmdeRobocopy = "ROBOCOPY"
  174.     '------ CHOIX DE L'ACTION ------
  175.     ChoixMenu = UCase(InputBox("Votre choix :" & Chr(10) & Chr(10) _
  176.                 & "C) Copier des fichiers" & Chr(10) _
  177.                 & "D) Déplacer des fichiers" & Chr(10) _
  178.                 & "L) Lister des fichiers" & Chr(10) _
  179.                 & "M) Synchroniser des fichiers (Mirroir)" & Chr(10) _
  180.                 & "R) Répéter la dernière commande" & Chr(10) _
  181.                 & Chr(10) & "Bouton [Annuler] ou [Entrée] sans valeur pour Quitter" _
  182.                 ,"ROBOCOPY" ))
  183.     Select Case ChoixMenu
  184.         Case "C" '------ Copier des fichiers
  185.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierSource)
  186.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierDestination)
  187.             CmdeRobocopy = CmdeRobocopy & SelectionFichier()
  188.             CmdeRobocopy = CmdeRobocopy & ChoixDate()
  189.             CmdeRobocopy = CmdeRobocopy & ChoixTaille()
  190.             CmdeRobocopy = CmdeRobocopy & " /COPYALL /S /ZB" '------ Action a réaliser
  191.             CmdeRobocopy = CmdeRobocopy & " /R:3 /W:60" '------ Nombre et délai pour une reprise de l'action en cas d'échec
  192.             CmdeRobocopy = CmdeRobocopy & Journal()
  193.             ExecuteCommande CmdeRobocopy
  194.         Case "D" '------ Déplacer des fichiers
  195.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierSource)
  196.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierDestination)
  197.             CmdeRobocopy = CmdeRobocopy & SelectionFichier()
  198.             CmdeRobocopy = CmdeRobocopy & ChoixDate()
  199.             CmdeRobocopy = CmdeRobocopy & ChoixTaille()
  200.             CmdeRobocopy = CmdeRobocopy & " /COPYALL /S /ZB /MOVE" '------ Action a réaliser
  201.             CmdeRobocopy = CmdeRobocopy & " /R:3 /W:60" '------ Nombre et délai pour une reprise de l'action en cas d'échec
  202.             CmdeRobocopy = CmdeRobocopy & Journal()
  203.             ExecuteCommande CmdeRobocopy
  204.         Case "L" '------ Lister des fichiers
  205.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierSource)
  206.             CmdeRobocopy = CmdeRobocopy & " C:\" '------ Destination bidon car listage uniquement...
  207.             CmdeRobocopy = CmdeRobocopy & SelectionFichier()
  208.             CmdeRobocopy = CmdeRobocopy & ChoixDate()
  209.             CmdeRobocopy = CmdeRobocopy & ChoixTaille()
  210.             CmdeRobocopy = CmdeRobocopy & " /COPY:D /S /L /XX" '------ Action a réaliser
  211.             CmdeRobocopy = CmdeRobocopy & " /R:0 /W:0" '------ Nombre et délai pour une reprise de l'action en cas d'échec
  212.             CmdeRobocopy = CmdeRobocopy & Journal()
  213.             ExecuteCommande CmdeRobocopy
  214.         Case "M" '------ Synchroniser des fichiers (Mirroir)
  215.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierSource)
  216.             CmdeRobocopy = CmdeRobocopy & SelectionDossier(C_DossierDestination)
  217.             CmdeRobocopy = CmdeRobocopy & " /COPYALL /E /ZB /MIR" '------ Action a réaliser
  218.             CmdeRobocopy = CmdeRobocopy & " /R:3 /W:60" '------ Nombre et délai pour une reprise de l'action en cas d'échec
  219.             CmdeRobocopy = CmdeRobocopy & Journal()
  220.             ExecuteCommande CmdeRobocopy
  221.         Case "R" '------ Répéter la dernière commande
  222.             If fso.FileExists(C_FichierJournal) Then
  223.                 ArchiveCommande CmdeRobocopy, C_Lecture
  224.                 ExecuteCommande(CmdeRobocopy)
  225.             Else
  226.                 MsgBox "Commande Impossible : c:\robocopy.txt est introuvable...", vbOKOnly, "ROBOCOPY"
  227.             End If
  228.         Case "" '------ Quitter par le bouton [Annuler] ou [Entrée] sans valeur
  229.             If MsgBox("Confirmation de l'abandon de l'utilitaire", vbYesNo + vbQuestion, "ROBOCOPY" ) = vbNo Then
  230.                 ChoixMenu = "On ne quitte pas la procédure"
  231.             End If
  232.         Case Else
  233.             MsgBox "Choix de menu incorrect...", vbOKOnly, "ROBOCOPY"
  234.     End Select
  235. Loop Until Len(ChoixMenu) = 0
 

Reply

Sujets relatifs:

Leave a Replay

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