如何删除文件夹中所有文件名的第一个字符?

如何删除文件夹中所有文件名的第一个字符?

我需要从文件夹中的所有文件名中删除第一个字符(始终为“_”)。

我目前正在使用这个命令:ren_*.txt *.txt但它不起作用。

但是,如果我运行ren _*.txt A*.txt它,它可以完美地工作,但这不是我想要的。

答案1

再次尝试 powershell ;)

在您想要的目录中运行此命令:

get-childitem *.txt | rename-item -newname { [string]($_.name).substring(1) }

说明:
-get-childitem *.txt收集实际目录中的所有 *.txt 文件。
-rename-item -newname使用 {} 中生成的字符串重命名 get-childitem 命令的管道结果
-[string]($_.name).substring(1)从第一个字符开始获取文件名

答案2

忘记复杂的脚本吧。

rename是一个非常古老且从未正确完成的命令。如果你没有正确使用它,结果可能会让你大吃一惊。

例如,要从 abcd1.txt、abcd2.txt、abcd3.txt 等中删除前缀 abcd,为了得到 1.txt、2.txt、3.txt,只需使用

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

您需要的 / 数量与要删除的初始字符数量相同。因此,对于您的具体情况,您可以使用

ren "_*.txt" "/*.txt"

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

答案3

如果你想避免写任何东西,可以尝试批量重命名实用程序。界面一开始可能会让人觉得很吓人,但只要尝试一下,你就会发现它其实并不难使用。

答案4

2020 年,我遇到了同样的批量重命名问题:删除许多名称的固定随机字符串。

在命令提示符中使用以下代码:

Rename "?????*.*" "*/////*.*"

(删除任意 5 个字符)(您必须使用“)

工作完美,感谢过去的人。

相关内容