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.