Powershell编辑mp3信息

时间:2015-05-07 15:05:54

标签: powershell mp3

我正在寻找一种在PowerShell脚本中编辑mp3文件信息(如艺术家,专辑等)的方法。

我找到了一种方法来获取.mp3文件所需的信息,但不知道如何修改它们。

$songs = Get-ChildItem $dir -Filter *.mp3;
$shell = new-object -com shell.application;

Foreach ($song in $songs) {
    $shellfolder = $shell.namespace($dir);
    $shellfile = $shellfolder.parsename($song);

    $title = $shell.namespace($dir).getdetailsof($shellfile,21);
}

使用getDetailsOf(带21)我可以获得歌曲Title,但没有setDetailsOf存在,所以我不知道如何修改另一个歌曲的歌曲。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您像我一样并且不喜欢使用库,这是我编写的一个非常简单的ID3v1函数,可以满足您的需求:

curl --silent --location https://rpm.nodesource.com/setup_8.x | bash

## Installing the NodeSource Node.js 8.x LTS Carbon repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el6-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_8.x/el/6/x86_64/nodesource-release-el6-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.eY4nFtJJtc' 'https://rpm.nodesource.com/pub_8.x/el/6/x86_64/nodesource-release-el6-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.eY4nFtJJtc'

## Cleaning up...

+ rm -f '/tmp/tmp.eY4nFtJJtc'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm.
## You may also need development tools to build native addons:
     sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
     sudo yum install yarn

使用完整的MP3文件路径和要更改的所有ID3V1属性来调用它:

sudo yum install -y nodejs

基本上,它将标题,艺术家等写入文件的最后128个字节。 我可能会添加对ID3v 2.3 的支持,该支持更加灵活,但与旧设备和软件的兼容性较差。检查GitHub以获取最新版本。