Obtenir la durée de la chanson à partir d'un fichier mp3 dans un script?

J'essaie d'énumérer certains de mes fichiers mp3 avec Powershell.

j'ai essayé

ls C:\test | Format-List -Property Name,Length 

Qui me donne

 Name : testfile.mp3 Length : 10058533 

La longueur est la taille du fichier dont je ne me soucie pas en ce moment.

En sachant que je peux choisir la durée dans l'Explorateur de fichiers pour un en-tête de colonne, j'ai pensé réécrire ce qui précède

 ls C:\test | Format-List -Property Name,Duration 

Mais ce que je reçois est

 Name : testfile.mp3 

Comment puis-je dire à Powershell de revenir les minutes et les secondes pour la durée? Ou même les secondes. Merci d'avance

Pour obtenir la longueur d'un mp3, la façon la plus simple est peut-être d'utiliser ce que l'explorateur utilise, un objet Shell.

Je crains que je ne dispose pas d'un one-liner pour vous, mais vous pouvez toujours faire un script que vous appelez.

 $path = 'M:\Musikk\awesome_song.mp3' $shell = New-Object -COMObject Shell.Application $folder = Split-Path $path $file = Split-Path $path -Leaf $shellfolder = $shell.Namespace($folder) $shellfile = $shellfolder.ParseName($file) write-host $shellfolder.GetDetailsOf($shellfile, 27); 

Vous trouverez plus d'informations ici: http://powershell.com/cs/blogs/tobias/archive/2011/01/07/organizing-videos-and-music.aspx

Modifier: la raison pour laquelle cette méthode est nécessaire est que les informations de longueur résident avec les autres métadonnées du fichier.