如何为多个文件名添加扩展名?


8

我有一个包含多个文件的文件夹,其名称如下:

pnahc.d_m05d17h09m30

我想在文件名的末尾放置一个扩展名,以便新文件名看起来像:

pnahc.d_m05d17h09m30.txt

我尝试使用ren *. *.txt,但没有用。我怎样才能做到这一点?


您可以使用FOR循环。

“ REN * .TXT”有效吗?通配符“ /”。表示任何以句点结尾的文件名。我无法在此PC上试用它,但我似乎还记得它可以在XP中运行。
hdhondt

“ REN star star.TXT”有效吗?通配符“星号”。表示任何以句点结尾的文件名。我无法在此PC上试用它,但我似乎还记得它可以在XP中运行。抱歉,“星星”是我无法找出其他方法来防止它变成斜体
hdhondt 2012年

@hdhondt将其括在反引号中,以指示内联代码块(`<code goes here>`)。如果你想使用普通文本星号,在它前面插入一个反斜杠:\*hello\*这样你就可以有这样的事情:*您好*
鲍勃·

Answers:


14

根据页面,您可以尝试在powershell中运行以下命令(在Windows“开始”菜单中搜索):

cd "\path\to\dir"
Dir | rename-item -newname  { $_.Name +".jpg" }

3

Bulkrename可以做到,首先“删除”扩展名,单击“重命名”,然后单击“重置”,然后使用“附加”功能添加所需的扩展名。您可以对同一文件夹中的多个文件执行此操作。

在此处输入图片说明

在此处输入图片说明


这对于其中包含句点的名称不起作用。

实际上,我一直在使用该软件进行操作。
摩押

只为你。当我用句点重命名东西时,名字全都搞砸了。尝试将扩展名添加到带有句点的内容中,然后在该时间段(而不是结尾)添加扩展名。

那里有一些选项只能从名称的开头,仅结尾,仅从名称的特定位置添加或删除。您可以在上方屏幕截图的中间框“删除(5)”中看到这些选项。甚至还没有进入正则表达式领域……
flith

如果您不知道如何使用该软件,请不要怪我。
摩押

1

一个命令行命令就可以解决问题:

for /f "tokens=*" %a in ('dir /b') do @ren "%a" "%a.txt"

只需将文件放入文件夹即可。


@nandha kumar问:谢谢Multiverse IT。请解释您的命令。
fixer1234

0

可以使用PowerShell轻松完成。

Get-ChildItem -Path C:\Directory | ? {!$_.PSIsContainer} | % {Rename-Item -LiteralPath $_.Name -NewName ($_.Name + ".txt")}`

0

这是使用JP Software的TCC(一种命令解释器,其REN命令支持正则表达式)执行的方法:

ren ::(.*) ::\1.txt

没有正则表达式,它仍然是单线的。TCC支持与FORMicrosoft 相同的语法cmd,因此可以使用FOR来自Multiverse IT答案的单行代码。

顺便说一下,这里有所有命令行答案,请注意,在可能的情况下,在所有重命名操作之前扫描目录很重要。您对原始文件名的问题不够明确,因此在我们的答案中,我们不得不假定每个文件都将被处理。因此,搜索通配符也将匹配结果文件名,如果不小心的话,最终可能会多次重命名文件。

例如,如果有人知道源文件名只包含一个点,那么可以构造一个限制性更强的搜索通配符,该通配符与具有两个点的结果文件名不匹配。使用TCC ren命令的非正则表达式形式,将是:

ren *.*. *.*.txt

搜索通配符中的尾随点很重要。(.实际上是在寻找通配符元字符,但很少有人将其记录下来,匹配任何一个. 一个名称的结尾)。它的名字的两端相匹配,并防止前*从匹配点。

进一步阅读

  • JP软件。。取得命令/ TCC帮助。
  • JP软件。对于。取得命令/ TCC帮助。
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.