我的最终目标是获得音乐库中所有MP3文件的路径和ISRC的哈希表,以便用于组织我的库。现在,我很难把ISRC的信息从文件中取出来。我已经用其他软件检查过了,但我特别需要用powershell来读取。
我尝试过使用一些Get-FileMetaData函数,但我认为我在错误的地方寻找那个尝试。
代替"正确"的方式阅读它,我试图用Get-Content将文件作为纯文本读取,并操纵字符串以隔离ISRC,我可以在记事本中查看文件时找到它。我遇到的困难是管理文本编码的方式(如果这是正确的词)。在记事本中查看时,字符之间有空白字符,这些字符在PowerShell中不会显示,但似乎仍然计入字符串长度。
我想提供一些代码,但我所拥有的都是死胡同,我认为问题在于我对我正在处理的东西的理解。如果我漏掉了什么重要的信息,请告诉我。根据模糊的预感,字符串操作涉及unicode,标记为unicode。
所以,我怎么能正确地读取id3v2标签使用powershell(正确我的意思是没有臃肿的字符串操作),或者我怎么能解释原始文件内容使用powershell,即处理特殊字符和空白。
非常感谢。
原始内容示例:(其中感兴趣的部分是'TSRC'后面的文本)
ID3>1TCON) ÿþS i n g r &S o n g w r i t r TRCK 1传真照片1 TIT2 yþv l e n t i n e TPE1
yþD f r n a TXXX yþt S t S yþD f n TALB yþv l e n t i n e TPE2
yþD f n TLEN 151000 tpub # yþM r g l i t r e c o r D S TSRC yþQ Z 8 l D 1 9 8 6 2 3 3 TXXX - yþB a r c o D e yþ1 9 6 6 4 6 1 1 6 0 3泰尔2019 tdat 0702 apic‰/jpeg图像覆盖yØ丫就是H H于c
可能是这个在Powershell中访问音乐文件元数据答案-使用taglib.dll
也可以帮助你。
Get-Content有一个-encoding参数。
如果你能算出这些文件的编码,就把它放在那个参数中。
检查你的powershell版本也是值得的。我相信这种行为在5点到6点之间发生了变化。