如何批量实现通过MP3标题重命名文件名

本文介绍对MP3格式进行重命名操作,首先通过文件属性获取MP3文件标题Title,然后用标题对文件名进行重命名。例子如下:

  • 处理前:
    这里写图片描述

  • 处理后:
    这里写图片描述

方法通过C#实现,共分两步:

  • 通过ShellClass获得文件属性
  • 以mp3文件的Title属性对其进行重命名

通过ShellClass获得文件属性

  1. 引用COM组件
    Microsoft Shell Controls And Automation
    需要注意:
    DLL的属性Embed Interop Type 设为False,否则会引起互操作类型异常
  2. using Shell32
  3. 具体代码:
//file--文件名;icol--属性索引
static string getMusicName(string file,int iCol)
{
     ShellClass sh = new ShellClass();
     Folder dir = sh.NameSpace(Path.GetDirectoryName(file));
     FolderItem item = dir.ParseName(Path.GetFileName(file));

     string str = dir.GetDetailsOf(item, iCol);

     return str;               
}

4.iCol 对应文件详细属性汇总

索引属性名
0Name
1Size
2Type
3Date modified
4Date created
5Date accessed
6Attributes
7Offline status
8Offline availability
9Perceived type
10Owner
11Kinds
12Date taken
13Artists
14Album
15Year
16Genre
17Conductors
18Tags
19Rating
20Authors
21Title
22Subject
23Categories
24Comments
25Copyright
26#
27Length
28Bit rate
29Protected
30Camera model
31Dimensions
32Camera maker
33Company
34File description
35Program name
36Duration
37Is online
38Is recurring
39Location
40Optional attendee addresses
41Optional attendees
42Organizer address
43Organizer name
44Reminder time
45Required attendee addresses
46Required attendees
47Resources
48Free/busy status
49Total size
50Account name
51Computer
52Anniversary
53Assistant’s name
54Assistant’s phone
55Birthday
56Business address
57Business city
58Business country/region
59Business P.O. box
60Business postal code
61Business state or province
62Business street
63Business fax
64Business home page
65Business phone
66Callback number
67Car phone
68Children
69Company main phone
70Department
71E-mail Address
72E-mail2
73E-mail3
74E-mail list
75E-mail display name
76File as
77First name
78Full name
79Gender
80Given name
81Hobbies
82Home address
83Home city
84Home country/region
85Home P.O. box
86Home postal code

以mp3文件的Title属性对其进行重命名

C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名。

基本代码:

static void renameFile(string dirName, string oldName, string newName)
{
    FileInfo fi = new FileInfo(dirName + oldName);
    fi.MoveTo(Path.Combine(dirName + newName));
}

完整程序代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值