我如何批量重命名文件?

我如何批量重命名文件?

我有一堆以模式命名的文件99 - DescriptiveName.txt,我想从前面删除数字,所以我只需要DescriptiveName.txt

我该怎么做?我可以从命令行执行此操作吗?或者是否有可以执行此操作的实用程序?

答案1

我知道您在标题中说“在 dos 中”,但我的印象是您只是在寻找一种方法来做到这一点,并想知道这是否是最好的方法。

我发现的最好的工具是批量重命名实用程序

批量重命名实用程序

它不是一个命令行工具,但是它们有一个命令行版本如果你确实想这样使用它的话。

我经常使用 GUI 版本,它功能强大、速度快并且极其易于使用。

哦,确实如此自由的供个人使用。

答案2

一个小的 PowerShell 脚本:

$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }

结合更复杂的常用表达,这可能会变成这样:

ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*)\.mp3$', '$2 - $1.mp3' }

这会将“01 - Beginning.mp3”之类的内容转换为“Beginning - 01.mp3”。

在发出重命名之前,请使用-WhatIf参数 onRename-Item检查重命名。

答案3

如果您确实想使用 Windows 命令行(如果您不想下载某些内容),您可以这样做:

dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l

第一行将文件列表输出到名为 fileList.txt 的文件中。第二行将列表中的每个名称分为 3 个部分,即 #、“-”和名称的其余部分。对于每个部分,它都会执行重命名命令。

答案4

老套:

您可以执行 DIR 并将输出重定向到文件,如 DIR *.TXT >TEMP.BAT

然后使用编辑器删除不需要的部分,修改需要的部分。添加“@echo off”作为最上面一行,保存并运行。

相关内容