我有一堆mp3都有很长的标题,其次是“第3部分”或“第4部分”等等。所以它就像“aasasdfjklakjsdf - part 3”和“aasasdfjklakjsdf - part 4”和“aasasdfjklakjsdf - 第5部分“等等。
我有超过100个,我想简单地从每个标题中删除“aasasdfjklakjsdf - ”部分。我有一个CS学位,所以我知道编程的基础知识,但我从来没有写过任何类型的脚本,并且很想开始。我想知道做这样的事情的最快和最简单的方法是什么。我正在运行Windows 7.我猜猜python的东西可能吗?或者我可以从Windows命令提示符处执行某些操作吗?
答案 0 :(得分:2)
如果您要使用Python,我认为这是一个不错的选择,您将使用glob
模块获取所有文件名,使用os
模块重命名文件。你会想弄清楚你正在寻找什么的挡板。在Python中,字符串具有split
方法。对于每个文件名,请在分隔符处拆分文件名,然后使用拆分中的第二个字段重命名该文件。
这是对您需要做的非常广泛的描述。祝你好运!
答案 1 :(得分:1)
这是我的建议,首先安装python然后再安装ipython。
现在进入ipython并尝试使用这样的交互式解释器:
import os
cd C:/my_dir/
trimstr = 'aasasdfjklakjsdf - '
for x in os.listdir('.'):
if x.startswith(trimstr):
oldname = x
newname = x[len(trimstr):]
print oldname, ' -> ', newname
if os.path.exists(newname):
print 'skipping', x, 'because the new name would stomp an existing file'
else:
pass
#os.rename(oldname, newname)
else:
print 'ignoring', x
如果您懒惰,可以复制我的代码块并将其粘贴到ipython中,但是将行'C:/my_dir/'
更改为os.chdir(...)
替换为您要处理的实际目录。
在这个阶段,它只会聊聊stdout将要进行的更改。所以,运行它,如果一切看起来都很好,请继续取消注释#commented line
并真正做到这一点。您可以使用向上箭头重新运行刚刚输入ipython的内容。
答案 2 :(得分:0)
您不需要为此操作编写脚本,只需使用powershell(内置于Windows中)。
Powershell有一个Rename-Item命令行开关(Microsoft Docs),您可以使用以下方式:
Dir | Rename-Item –NewName {$_.name –replace "_What_You_Want_Replaced_","_Replacement_"}
e.g。
>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
PS cd "your mp3 folder"
PS Dir | Rename-Item –NewName {$_.name –replace "aasasdfjklakjsdf -",""}
完成并完成。就这么简单。