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

ane*_*yzm 7 windows-7 rename

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

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

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

wul*_*lxz 30

再次尝试powershell ;)

在您想要的目录中运行它:

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

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

  • 嗯......这应该有效......但是。gci 默认是 Get-Childitem 的别名 - 取而代之。你运行过powershell吗?如果您在 cmd.exe 中尝试过,则它不起作用(但您可以从 cmd 中启动 powershell.exe) (2认同)

小智 8

忘记复杂的脚本吧。

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

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

rename "abcd*.txt" "////*.txt"
Run Code Online (Sandbox Code Playgroud)

您需要与要删除的初始字符数相同的 / 数。因此,对于您的特定情况,您将使用

ren "_*.txt" "/*.txt"
Run Code Online (Sandbox Code Playgroud)

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