如何通过在 Windows 中添加或删除后缀或前缀来重命名多个文件?

Mar*_*dal 8 windows rename

我在一个文件夹中有多个文件,Windows 中的所有文件名都不同,后缀都是_(new). 例子:

File Name_(new).mp4
Run Code Online (Sandbox Code Playgroud)

如何通过删除后缀_(new)而不更改文件名来重命名所有文件?

Qui*_*ill 1

在命令提示符中运行RENorRENAME命令应该适合您:

假设类型始终是.mp4

RENAME *_(new).mp4 *.mp4
Run Code Online (Sandbox Code Playgroud)

否则,以下应该有效:

RENAME *_(new).* *.*
Run Code Online (Sandbox Code Playgroud)

首先,您要CD进入它所在的文件夹。

如果您正常启动计算机,CMD 应该将您放入您的用户文件夹中,例如:

C:\Users\Macraze
Run Code Online (Sandbox Code Playgroud)

或者它可能会将您放入system32文件夹中:

C:\windows\system32
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,您都可以CD通过键入以下内容进入您想要的文件夹:

C:\Users\Macraze> CD Downloads
//whoops, wrong folder, you can just 'CD ../' out
C:\Users\Macraze\Downloads> CD ../
C:\Users\Macraze> CD Desktop
C:\Users\Macraze\Desktop> CD Misc
C:\Users\Macraze\Desktop\Misc> RENAME *_(new).* *.*
Run Code Online (Sandbox Code Playgroud)

当您运行此命令时,星号称*为通配符,这意味着_(new).与文件名/扩展名之间的规则匹配的所有内容都将被重命名。

  • 接受这个答案是没有意义的。提议的命令完全没有效果,而且它当然不能回答问题。 (4认同)
  • 在这里,这个令人恶心的怪物将起作用: `cmd /V:ON /s /c "set "suffix=_(new)" && set "ext=mp4" && for /F "delims=" %F in ('dir / B "*!suffix!.!ext!"') do @(set "_tmp=%F" && cmd /s /c "rename "%_tmp%" "%_tmp:!suffix!=%"")"`只需将“suffix=_(new)”和“ext=mp4”部分更改为您需要的任何内容即可。如果你想在不实际执行的情况下看到它,只需在“重命名”之前添加一个“echo”语句它是包容性的,并使用“/v:on”打开延迟扩展,这在很大程度上导致了它如此丑陋的原因。如果放入批处理文件中,请确保使用 %%F 而不是 %F。 (4认同)
  • 似乎有些事情发生了变化。`RENAME *_(new).mp4 *.mp4` 对于 Windows 10 21H1 上的文件 `File Name_(new).mp4` 没有任何作用 (3认同)