Script modification dossier
bonjour j'ai mon script qui me permet de faire des modifications sur un dossier mais je rencontre un souci au niveau de la ligne 53 quelq'un peut me dire ce qui ne va pas avec merci
Code:
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."
}
}
} |