1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| # Définir le chemin du dossier
$folderPath = "C:\mesFichiers"
# Fonction pour afficher le menu
function DisplayMenu {
Write-Host "Choisissez une option:"
Write-Host "a) Création des dossiers"
Write-Host "b) Renommer les fichiers"
Write-Host "c) Copier des fichiers"
Write-Host "d) Supprimer fichier volumineux"
Write-Host "e) Compter le nombre de fichiers dans le dossier mesFichiers"
Write-Host "f) Quitter"
}
# Boucle principale
while ($true) {
# Afficher le menu
DisplayMenu
# Lire le choix de l'utilisateur
$choice = Read-Host "Entrez votre choix"
switch ($choice) {
'a' {
# Créer les dossiers
New-Item -Path "$folderPath\medias" -ItemType Directory -Force | Out-Null
New-Item -Path "$folderPath\medias\video" -ItemType Directory -Force | Out-Null
New-Item -Path "$folderPath\medias\audio" -ItemType Directory -Force | Out-Null
New-Item -Path "$folderPath\medias\image" -ItemType Directory -Force | Out-Null
Write-Host "Dossiers créés avec succès."
}
'b' {
# Renommer les fichiers .jpg
Get-ChildItem -Path $folderPath -Filter "*.jpg" | ForEach-Object {
Rename-Item -Path $_.FullName -NewName ("$($_.BaseName)_$($_.Extension)")
}
Write-Host "Fichiers renommés avec succès."
}
'c' {
# Copier les fichiers vers les dossiers appropriés
Get-ChildItem -Path $folderPath | ForEach-Object {
switch ($_.Extension) {
'.mp4' { Move-Item -Path $_.FullName -Destination "$folderPath\medias\video" }
'.mp3' { Move-Item -Path $_.FullName -Destination "$folderPath\medias\audio" }
'.jpg' { Move-Item -Path $_.FullName -Destination "$folderPath\medias\image" }
}
}
Write-Host "Fichiers copiés avec succès."
}
'd' {
# Supprimer la vidéo la plus volumineuse
$largestFile = Get-ChildItem -Path "$folderPath\medias\video" | Sort-Object Length -Descending | Select-Object -First 1
Remove-Item -Path $largestFile.FullName
Write-Host "Fichier volumineux supprimé avec succès."
}
'e' {
# Compter le nombre de fichiers dans le dossier video
$fileCount = (Get-ChildItem -Path "$folderPath\medias\video").Count
Write-Host "Il y a $fileCount fichier(s) dans le dossier video."
}
'f' {
# Quitter le programme
Write-Host "Au revoir!"
exit
}
default {
Write-Host "Choix non valide. Veuillez réessayer."
}
}
} |
Partager