如何在Windows 7中为许多文件删除文件名的同一部分?


85

基本上,我有一张音乐专辑,我想从所有mp3文件中删除作者姓名,而不必自己动手做。Windows 7 Ultimate中是否有可以为我完成此功能的功能?

替代文字


1
有趣的问题!我也在寻找这个,谢谢。
Dylan B

Answers:


137

您还可以尝试使用功能强大的Windows命令行工具PowerShell。您将运行以下命令:

完整命令:

get-childitem *.mp3 | foreach { rename-item $_ $_.Name.Replace("Radiohead -", "") }

分析一下:

get-childitem *.mp3
该列表列出了所有名称以结尾的文件.mp3。然后将它们与|操作员通过管道传递给下一个命令。

foreach { rename-item $_ $_.Name.Replace("Radiohead -", "") }
Radiohead -将以代替所有用表示的实例"",从而有效地删除了目录中所有文件中的单词。

您还可以修改get-childitem *.mp3get-childitem–将重命名目录中的所有文件,而不仅仅是名称以结尾的文件.mp3


4
什么是$_ $_.代表?谢谢!
paulkon '16

4
@paulkon它表示从上一个命令通过管道传递的任何项目。在这种情况下,它代表通过循环产生的每个项目foreach。在$_.如下的点表示法访问的属性/方法/元件。因此,$_.Name访问通过传递的每个文件的Name属性get-childitem
Andy Terra

1
对于递归重命名,只需将-recurse参数添加到get-childitem
Kreker '17

1
谢谢您的解决方案...很有魅力。我坐在这里想知道您如何也修改子文件夹中的文件?就像-R在Linux上的工作方式一样。我是linux的负责人。
josh.thomson

3
如果名称中带有方括号之类的内容,请不要忘记添加-LiteralPath。除了那个答案的那个tyvm!Upvoted
josh.thomson

54

忘记了复杂的脚本。

rename是一个非常古老且从未正确完成的命令。如果使用不当,结果可能会让您感到惊讶。

例如删除前缀abcdabcd1.txtabcd2.txtabcd3.txt等为了得到1.txt2.txt3.txt只需使用

rename "abcd*.txt" "////*.txt"

您需要与/要删除的初始字符数相同的数字。

请对两个参数都使用双引号。


快速简单,我喜欢它。您能解释一下它是如何工作的吗?斜杠是null还是没有名称的文件夹?
马特

1
没有特别规定。照原样。/可以是unc路径的一部分,因此它与:<> |不同。它可能被视为某种不可见的路径。

非常有趣和有用的技巧。太糟糕了,它仅适用于前缀!
马特·威尔基

1
奇妙的发现。必须同时引用源和目标,这很奇怪,否则会The syntax of the command is incorrect出错。我很好奇,是否曾经在此答案之前在任何地方发布过这项技术?我需要更新Windows RENAME命令如何解释通配符?问答,尽管从技术上讲,/它们不能用作通配符。
dbenham

不删除“。” 在文件名中。例如dbo.table1.sql,dbo.table2.sql,它将它们重命名为.table1.sql,.table2.sql
GaneshT

13

这可能有效。

创建一个批处理文件,如下所示:

for %%i in ("*.mp3") do (set fname=%%i) & call :rename
goto :eof
:rename
::Cuts off 1st four chars, then appends prefix
ren "%fname%" "my%fname:~4%"
goto :eof

来源:http//www.codejacked.com/renaming-multiple-files-at-once-windows(在注释中,来自“ BlueNovember”)


披露:我的答案已被编辑,因此不再是我所引用评论的精确副本。

12

试试这个软件

http://www.bulkrenameutility.co.uk/Main_Intro.php

批量重命名实用程序是Windows的免费文件重命名软件。批量重命名实用程序使您可以根据极为灵活的条件轻松重命名文件和整个文件夹。添加日期/时间戳,替换数字,插入文本,转换大小写,添加自动数字,处理文件夹和子文件夹....以及更多其他功能!根据许多灵活的标准,快速重命名多个文件。通过多种方式重命名文件:添加,替换,在文件名中插入文本。转换大小写,加数字。删除或更改文件扩展名。重命名之前,请检查详细的预览。使用EXIF元数据重命名照片(即“拍摄的日期照片”,“分辨率”和所有嵌入在JPG照片文件中的其他信息),将您的假日照片从无意义的dsc1790.jpg瞬间重命名为NewYork1.jpg。使用ID3标签重命名MP3文件(又名 MP3 ID3标签重命名)。更改文件的创建和修改时间戳。免费。易于安装。立即下载并开始重命名文件!


3
谢谢。我在Google搜索中看到了这一点,但在安装随机软件时必须小心。根据您的代表和建议,我安装了它,这简直令人难以置信。无需摆弄Powershell等。我是一名程序员,并且喜欢Trim,regex功能。它比广告做得更好。我也强烈推荐这个。UPS!
Abhishek Dujari

Vangel,不客气,它是我一直以来最喜欢的软件之一。
摩押

这个程序改变了我的生活,节省了很多时间
twoleggedhorse 2015年

11

ReNamer可以做到这一点。在ReNamer中,只需添加一个“删除”规则,如下所示(“删除”规则也将起作用):

重命名器“删除”规则

然后将文件或包含要重命名的文件的文件夹拖放到其窗口中(或使用“添加文件/文件夹”按钮),然后检查预览,并在验证后单击“重命名”:

重命名窗口


1
不错的简单GUI解决方案-我喜欢!
leinad13 2015年

哇,这是一个了不起的工具!我会尝试
Dylan B

感谢您的推荐!我在使用“批量重命名”之类的程序时遇到了一些麻烦,在我看来,这似乎具有完美的直观GUI。
萨努

9

由于您正在处理音乐文件,因此无需考虑批处理文件和实用程序来重命名文件。如果您真的想组织音乐,请使用Mp3tag这样的专用程序,这是绝对必要的。

主要特点

批量标签编辑一次将ID3v1.1,ID3v2.3,ID3v2.4,MP4,WMA,APEv2标签和Vorbis注释写入多个文件。

支持封面艺术下载专辑封面并将其添加到文件中,并使您的媒体库更加闪亮。

从Amazon,discogs,freedb,MusicBrainz导入从在线数据库(如Amazon,discogs,freedb,MusicBrainz等)中保存键入和导入标签。

替换字符或单词替换标签和文件名中的字符串(支持正则表达式)。

自动创建播放列表在编辑时自动创建和管理播放列表。

从标签重命名文件根据标签信息重命名文件并从文件名导入标签。

导出为HTML,RTF,CSV基于用户定义的模板生成漂亮的报告和收藏列表。

全面的Unicode支持用户界面和标记完全符合Unicode。

除了这些主要功能外,Mp3tag还提供了多种其他功能,包括批量导出嵌入式专辑封面,对iTunes特定标签(如媒体类型或电视节目设置)的支持,以及将多个动作组合为可与单击鼠标。


4

我只想添加我的最爱:重命名母版

该实用程序将轻松添加,删除或替换部分文件名,还支持通过文件属性,MP3标签,JPEG JFIF和EXIF标签,视频标签和文本文件进行重命名。批量重命名简单易用,但功能仍然非常强大。

在此处输入图片说明

特征

  • 便携式模式
  • 智能号码分类
  • 完整的Unicode文件名支持
  • 文件和文件夹重命名
  • 自定义文件列表列
  • 自动预览
  • 子文件夹扫描以重命名多个文件夹中的文件
  • 重命名JPEG / MP3 / Video标签,文件属性,计数器等的变量
  • 保存常用重命名选项的脚本
  • [*]和[?]命令提示符样式通配符,或完整的正则表达式支持
  • 可选的Explorer集成,可右键单击文件/文件夹或使用“发送到”
  • 大小写更改和文本文件导入
  • 批量重命名的命令行选项

3

我有一个相关要求。

注意:
备份尝试以下命令的文件夹。


范例1

注意:此命令将覆盖现有文件名的一部分

如果目录中只有两个文件:

This is file 1.txt  
This is file 2.txt  

并且如果您运行:

rename "\*.\*" "abc-\*.\*"  

然后,将文件更改为:

abc- is file 1.txt  
abc- is file 2.txt  

范例2

注意:此命令删除现有文件名的一部分

如果目录中只有两个文件:

This is file 1.txt  
This is file 2.txt  

并且如果您运行:

rename "T\*.\*" "/\*.\*"  

然后,将文件更改为:

his is file 1.txt  
his is file 2.txt

1

我当时想用svn重命名一堆带有一些普通文本的文件。因为已经安装了cygwin,所以我最终运行了bash:

bash-3.1$ for i in ipad_*; do svn rename $i ${i/ipad_}; done

我知道TortoiseSVN有时会提示进行通用替换,但在这种情况下不会提示。


0

转到cmd.exe并输入:

REN "Radiohead*.mp3" "*.mp3"

(带引号)


我刚刚测试过。这是行不通的。可能是由于文件名中的空格。(radiohead-04-testname.mp3)
Hennes 2013年

这对我也不起作用。
斯科特,

那可能是因为您试图将其重命名为(* .mp3)。星号包含字符串“ Radiohead”,因此基本上您将所有以“ radiohead”开头的文件都重命名为与以前相同的名称,因此无效。
CB Du Rietz 2014年

真正。如果文件名更改,它将起作用,例如:REN Radiohead * .log Mediahead * .log
Manohar Reddy Poreddy

-2

有很多专门用于处理音乐文件的软件。我使用的一个示例是Tag&Rename。如果您正在寻找可与任何类型的文件一起使用的通用实用程序,我确定它们也存在。但是我没有任何例子可以解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.