PowerShell的编辑元数据,需要跟踪号码前加前导零的1-9
问题描述:
我使用这个模块,叫做MPTag,在PowerShell中:http://powershell.com/cs/media/p/9129.aspxPowerShell的编辑元数据,需要跟踪号码前加前导零的1-9
它用于编辑音轨的元数据。它工作的很好,但我需要添加前导0来跟踪数字,它不接受前导零。它只保存没有前导零的整数。
我目前使用的是:
$songmeta = get-mediainfo $song
$song.track = 01
$song.save()
我也尝试添加.tostring
,但它仍然出来不为零。任何人有任何想法我可以做到这一点?我对脚本非常陌生,所以我无法真正理解链接到下载页面的taglib源代码档案。有什么办法可以让这些前导零进入吗?如果没有,有没有人知道任何其他元数据编辑方法,将工作?谢谢你的帮助。
编辑:我发现解决方法是使用FFMPEG的元数据编辑器。它允许您编写前导零。更多信息on this wiki page.
答
我目前使用的是Split功能。它可能不是你正在寻找的,但它应该是一个90%的解决方案。丢失我的RAID后,我必须撕掉所有的CD。
Example file: 01 - Song.mp3
$files = get-childitem "your_directory" -filter *.mp3
foreach($a in $files)
{
$b = $a.basename.Split(' - ')
$c = '0'+$b[0]+' - '+$b[1]+$a.extension
Rename-Item $a.Fullname -NewName $c
}
该库可能不支持您正在尝试执行的操作。如果我不得不猜测,它会在内部为该字段使用数字,并使用默认的'toString()'进行写入。您可能可以修改[源代码](http://taglib-sharp.sourcearchive.com/)来执行您想要的操作。 –
我想尝试的一件事就是使用引号强制数据类型为字符串,看看是否有帮助。 '$ song.track =“01”' –
我试过报价,不好,不幸。但感谢您的建议。我将如何开始编辑源代码?我是否在电脑上下载了该库?或者我只是编辑模块本身的.dll文件?编辑:没关系只是注意到.dll随库而来。我会检查它,看看是否有什么明显的我可以改变。 –