Bonjour à tous et à toutes
Je me suis mis au Powershell depuis peu et je fais quelques petits scripts pour apprendre ce langage.
J’essaie actuellement de créer un script pour modifier les métadatas de fichiers audios en fonction du répertoire.
L’arborescence s’organiser de la façon suivante :
-artiste1
-album1
-album2
-artiste2
-albumA
-albumB
Avec le script j’essaie de récupérer le nom du dossier artiste puis le nom du dossier album pour que les fichiers soient modifiés en conséquence.
Mais le problème c’est que lors des déplacements il me dit ne pas trouver le chemin pour accéder à mes fichiers.
Normalement il devait aller dans E:\Musiques puis E:\Musiques\artiste1 puis E:\Musiques\artiste1\album1 et modifier les métadatas. Pour aller dans l’autre dossier (album2) et une fois terminé changer de dossier artiste.
Mais au lieu de cela il me dit que le chemin E:\Musiques\artiste1\artiste1 et E:\Musiques\artiste1\artiste2 n’existe pas.
Le programme met à la place de l’album le nom de l’artiste (ou d’un autre artiste) et je n’arrive pas à voir où je me suis trompé.
J’espère avoir été assez clair.
Merci d’avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $location="E:\Musiques\" $taglibsharpPath=“D:\Powershell\lib\taglib-sharp\taglib-sharp.dll” [Reflection.Assembly]::LoadFrom($taglibsharpPath) cd $location $folderArtiste = Get-ChildItem -Path $location | Where-Object { ($_.PSIsContainer) } foreach ($artFolder in $folderArtiste){ cd $location cd $artFolder $artiste = get-location | split-path -leaf $folderAlbum = Get-ChildItem -Path $artFolder | Where-Object { ($_.PSIsContainer) } foreach ($albFolder in $folderAlbum){ echo $albFolder cd $albFolder $album= get-location | split-path -leaf $albumLocation= get-location $files = Get-ChildItem -Path $albumLocation | Where-Object { (-not $_.PSIsContainer) } foreach ($filename in $files){ $media = [TagLib.File]::Create(($albumLocation+"\"+$filename)) $media.Tag.Album = $album $media.Tag.AlbumArtists = $artiste $media.Save() } cd .. } }
Partager