Classer des fichiers dans des dossiers selon l'extension

Catégorie < windows >

1FORMATIK.com
Espace ~public
© 1998 - 2024

Sommaire

  • Comment classer des fichiers dans des dossiers selon l'extension
  • Vidéo explicative YouTube
  • Script pour classer automatiquement des fichiers dans des dossiers
  • Code source du script VBS

Information

Rédigé par Antoine
Publié le 2024-08-09
Modifié le 2024-08-09
552 affichages
2 likes
0 non-like

Comment classer des fichiers dans des dossiers selon l'extension

Classer des fichiers selon leur extension permet une gestion efficace des données sur tout système informatique.

Cette approche consiste à organiser les fichiers en sous-dossiers basés sur leur type, ce qui simplifie considérablement la recherche et la navigation. Ainsi lorsqu’on a besoin de retrouver un fichier spécifique, par exemple une image ou un document PDF, il est beaucoup plus facile de le localiser dans un sous-dossier dédié, plutôt que dans un répertoire contenant divers types de fichiers. Cette organisation permet non seulement de gagner du temps, mais elle réduit également le risque de confusion entre différents types de fichiers.

Bien que Windows 11 propose de nombreuses fonctionnalités de gestion des fichiers, la fonction de tri automatique des fichiers selon leur extension n'est pas prévue nativement dans le système.

Ainsi pour classer automatiquement des fichiers dans des dossiers selon l'extension, il faut recourir à des scripts personnalisés, en VBScript ou PowerShell. Cela rend la gestion des fichiers plus efficace et adaptée aux besoins spécifiques de certains utilisateurs dont je fais partie.

Vidéo illustrative via YouTube

Script pour classer automatiquement des fichiers dans des dossiers

Le script que j'ai conçu a pour vocation d'assister les utilisateurs dans l'organisation de leurs fichiers en automatisant le processus de tri au sein d'un dossier spécifique de leur choix. Ce programme, conçu pour une utilisation simple et intuitive, trie automatiquement les fichiers en les plaçant dans des sous-dossiers en fonction de leur type, par exemple, les documents, images, vidéos, archives, etc.

Dès le lancement du script, vous êtes invité à sélectionner l'emplacement des fichiers à organiser. Trois options principales s'offrent à vous : organiser les fichiers présents sur le "Bureau", dans le dossier "Téléchargements", ou dans un autre dossier personnalisé. Si vous optez pour la troisième option, une fenêtre de dialogue s'ouvre pour vous permettre de naviguer et de sélectionner le dossier spécifique que vous souhaitez organiser.

Une fois le dossier sélectionné, le script analyse les fichiers qu'il contient et les classes automatiquement dans des sous-dossiers créés à cet effet, en fonction de leur extension. Par exemple, les fichiers au format ".jpg", ".png", ".gif" seront déplacés dans un dossier nommé "Images", tandis que les fichiers ".docx", ".pdf" ou ".txt" seront classés dans un dossier "Documents".

Le code du script est commenté pour faciliter sa compréhension et vous permettre, même si vous êtes peu expérimenté, de l'adapter selon vos besoins spécifiques. Ainsi, il est possible d'ajouter d'autres extensions de fichiers à la liste existante ou de modifier la nomenclature des dossiers créés, par exemple en renommant "Images" en "Photos" ou "Documents" en "Textes".

Ce script peut se révèler être un outil précieux pour maintenir une structure de dossiers organisée, en particulier pour les utilisateurs qui manipulent régulièrement un grand nombre de fichiers de différents types. En automatisant ce processus, il permet de gagner du temps tout en réduisant les risques d'erreurs, tout en offrant une flexibilité maximale grâce à sa capacité d'adaptation.

N'hésitez pas à visaualiser la vidéo ci-avant pour une illustration du script et à laisser un commentaire si vous avez des questions ou si vous rencontrez une quelconque difficulté.

Code source du script VBS

Dim shell, cheminProfilUtilisateur, dossierTelechargements, dossierBureau, dossierCible, choixUtilisateur

Set shell = CreateObject("WScript.Shell")
cheminProfilUtilisateur = shell.ExpandEnvironmentStrings("%USERPROFILE%")
dossierTelechargements = cheminProfilUtilisateur & "\Downloads"
dossierBureau = cheminProfilUtilisateur & "\Desktop"

' On demande à l'utilisateur de choisir entre "bureau", "telechargement" ou "autre"
choixUtilisateur = InputBox("Choisissez le dossier que vous voulez organiser (tapez 'bureau', 'telechargement', ou 'autre'):", "Choix du Dossier")

Select Case LCase(choixUtilisateur)
Case "bureau"
dossierCible = dossierBureau
Case "telechargement"
dossierCible = dossierTelechargements
Case "autre"
dossierCible = SelectionnerDossier()
If dossierCible = "" Then
WScript.Echo "Aucun dossier. Le script est interrompu."
WScript.Quit
End If
Case Else
WScript.Echo "Choix invalide. Le script est interrompu."
WScript.Quit
End Select

' Fonction principale pour trier les fichiers
Sub OrganiserFichiers()
Dim fso, fichier, extension, dossierDestination
Set fso = CreateObject("Scripting.FileSystemObject")

' On parcourt tous les fichiers du dossier cible
For Each fichier In fso.GetFolder(dossierCible).Files
' On récupère l'extension du fichier
extension = LCase(fso.GetExtensionName(fichier.Name))

' On définit le sous-dossier de destination en fonction de l'extension du fichier
Select Case extension
Case "jpg", "jpeg", "png", "gif", "bmp", "webp", "heic"
dossierDestination = dossierCible & "\Images"
Case "mp4", "mkv", "avi", "mov"
dossierDestination = dossierCible & "\Videos"
Case "mp3", "wav", "flac"
dossierDestination = dossierCible & "\Musiques"
Case "pdf"
dossierDestination = dossierCible & "\Documents PDF"
Case "doc", "docx", "odt", "ott", "sxw", "rtf"
dossierDestination = dossierCible & "\Documents Word"
Case "xls", "xlsx", "ods", "ots", "sxs", "csv"
dossierDestination = dossierCible & "\Documents Excel"
Case "ppt", "pptx", "odp", "otg", "sdg"
dossierDestination = dossierCible & "\Documents Powerpoint"
Case "zip", "rar", "7z", "cab", "iso", "msu"
dossierDestination = dossierCible & "\Archives"
Case "exe", "msi", "msp"
dossierDestination = dossierCible & "\Executables et Installateurs"
Case Else
dossierDestination = dossierCible & "\Autres"
End Select

' On crée le sous-dossier s'il n'existe pas
If Not fso.FolderExists(dossierDestination) Then
fso.CreateFolder(dossierDestination)
End If

' On déplace le fichier dans le sous-dossier de destination
fichier.Move dossierDestination & "\" & fichier.Name
Next

' On libère les objets
Set fso = Nothing
Set shell = Nothing
End Sub

Function SelectionnerDossier()
Dim objShell, objDossier
Set objShell = CreateObject("Shell.Application")
Set objDossier = objShell.BrowseForFolder(0, "Choisissez un dossier", 0, 0)
If Not objDossier Is Nothing Then
SelectionnerDossier = objDossier.Self.Path
Else
SelectionnerDossier = ""
End If
Set objDossier = Nothing
Set objShell = Nothing
End Function

' On appelle la fonction pour organiser les fichiers
OrganiserFichiers

Ce contenu vous a-t-il été utile ?