Browse Source

Encodage du script + Readme

master
Figg 1 month ago
parent
commit
992a4caabb
2 changed files with 13 additions and 13 deletions
  1. 13
    13
      ArrangePictures.ps1
  2. BIN
      images/readme_img1.png

+ 13
- 13
ArrangePictures.ps1 View File

1
-# Fonction pour récupérer une Array des extensions d'images et vidéos depuis un json
1
+# Fonction pour récupérer une Array des extensions d'images et vidéos depuis un json
2
 function Get-ImageVideoExtensions {
2
 function Get-ImageVideoExtensions {
3
     param (
3
     param (
4
         [string] $sourceUrl = "https://cdn.jsdelivr.net/gh/jshttp/mime-db@v1.52.0/db.json"
4
         [string] $sourceUrl = "https://cdn.jsdelivr.net/gh/jshttp/mime-db@v1.52.0/db.json"
16
     return $extensions
16
     return $extensions
17
 }
17
 }
18
 
18
 
19
-# Fonction pour décompresser les archives
19
+# Fonction pour décompresser les archives
20
 function Decompress-ArchiveIfNeeded {
20
 function Decompress-ArchiveIfNeeded {
21
     param(
21
     param(
22
         [string]$ArchivePath,
22
         [string]$ArchivePath,
35
     return $null
35
     return $null
36
 }
36
 }
37
 
37
 
38
-# Fonction pour obtenir la date de création d'une image/vidéo
38
+# Fonction pour obtenir la date de création d'une image/vidéo
39
 function Get-OriginalDate {
39
 function Get-OriginalDate {
40
     param (
40
     param (
41
         $file
41
         $file
42
     )
42
     )
43
-    # Tentative de lecture des données EXIF
43
+    # Tentative de lecture des données EXIF
44
     $exif = Try { [System.Drawing.Image]::FromFile($file.FullName) } Catch { $null }
44
     $exif = Try { [System.Drawing.Image]::FromFile($file.FullName) } Catch { $null }
45
 
45
 
46
     if ($exif) {
46
     if ($exif) {
58
     }
58
     }
59
 }
59
 }
60
 
60
 
61
-# Demande des paramètres si non fournis
61
+# Demande des paramètres si non fournis
62
 if (-not $args[0] -or -not $args[1]) {
62
 if (-not $args[0] -or -not $args[1]) {
63
     $SourceDir = Read-Host "Entrez le chemin du dossier source"
63
     $SourceDir = Read-Host "Entrez le chemin du dossier source"
64
     $DestinationDir = Read-Host "Entrez le chemin du dossier destination"
64
     $DestinationDir = Read-Host "Entrez le chemin du dossier destination"
67
     $DestinationDir = $args[1]
67
     $DestinationDir = $args[1]
68
 }
68
 }
69
 
69
 
70
-# Vérifie si le dossier source est une archive
70
+# Vérifie si le dossier source est une archive
71
 if ($SourceDir -match "\.zip$") {
71
 if ($SourceDir -match "\.zip$") {
72
     $SourceDir = Decompress-ArchiveIfNeeded -ArchivePath $SourceDir -ExtractPath $env:TEMP
72
     $SourceDir = Decompress-ArchiveIfNeeded -ArchivePath $SourceDir -ExtractPath $env:TEMP
73
     if (-not $SourceDir) {
73
     if (-not $SourceDir) {
74
-        Write-Host "L'archive n'a pas pu être décompressée."
74
+        Write-Host "L'archive n'a pas pu être décompressée."
75
         return
75
         return
76
     }
76
     }
77
 }
77
 }
78
 
78
 
79
 $validExtensions = Get-ImageVideoExtensions
79
 $validExtensions = Get-ImageVideoExtensions
80
 
80
 
81
-# Parcourt tous les fichiers récursivement dans le dossier source
81
+# Parcourt tous les fichiers récursivement dans le dossier source
82
 Get-ChildItem -Path $SourceDir -Recurse -File | ForEach-Object {
82
 Get-ChildItem -Path $SourceDir -Recurse -File | ForEach-Object {
83
     $file = $_
83
     $file = $_
84
     $extension = $file.Extension.ToLower().TrimStart('.')
84
     $extension = $file.Extension.ToLower().TrimStart('.')
85
 
85
 
86
     if ($extension -in $validExtensions) {
86
     if ($extension -in $validExtensions) {
87
-        # Tentative de lecture des données EXIF
87
+        # Tentative de lecture des données EXIF
88
         $exif = Try { [System.Drawing.Image]::FromFile($file.FullName) } Catch { $null }
88
         $exif = Try { [System.Drawing.Image]::FromFile($file.FullName) } Catch { $null }
89
 
89
 
90
         if ($exif) {
90
         if ($exif) {
102
         }
102
         }
103
         
103
         
104
         if (-Not $originalDate) {
104
         if (-Not $originalDate) {
105
-            $targetFolder = Join-Path -Path $DestinationDir -ChildPath "Non daté"
105
+            $targetFolder = Join-Path -Path $DestinationDir -ChildPath "Non daté"
106
         } else {
106
         } else {
107
-            # Créer le dossier de destination basé sur l'année et le mois
107
+            # Créer le dossier de destination basé sur l'année et le mois
108
             $year = $originalDate.Year
108
             $year = $originalDate.Year
109
             $monthNum = $originalDate.Month.ToString("00")
109
             $monthNum = $originalDate.Month.ToString("00")
110
             $monthName = $originalDate.ToString("MMMM", [System.Globalization.CultureInfo]::GetCultureInfo("fr-FR"))
110
             $monthName = $originalDate.ToString("MMMM", [System.Globalization.CultureInfo]::GetCultureInfo("fr-FR"))
118
         # Copier le fichier dans le dossier de destination
118
         # Copier le fichier dans le dossier de destination
119
         Copy-Item -Path $file.FullName -Destination $targetFolder
119
         Copy-Item -Path $file.FullName -Destination $targetFolder
120
     } else {
120
     } else {
121
-        Write-Host "Fichier ignoré: $($file.FullName)"
121
+        Write-Host "Fichier ignoré: $($file.FullName)"
122
     }
122
     }
123
 }
123
 }
124
 
124
 
125
-# Suppression du dossier temporaire si nécessaire
125
+# Suppression du dossier temporaire si nécessaire
126
 if ($SourceDir -like "$env:TEMP\*") {
126
 if ($SourceDir -like "$env:TEMP\*") {
127
     Remove-Item -Path $SourceDir -Recurse -Force
127
     Remove-Item -Path $SourceDir -Recurse -Force
128
 }
128
 }

BIN
images/readme_img1.png View File


Loading…
Cancel
Save