如何批量重命名和删除最后一个字符

如何批量重命名和删除最后一个字符

在 Windows XP 中,我尝试弄清楚如何批量重命名并删除文件名的最后一个字符。

删除文件扩展名前的最后 4 个字符的示例:file.doc.pdf --> file.pdf

我可以做:

ren *.pdf *.
ren *.doc *.pdf

但是,如果文件夹中已经有其他 PDF,则此方法效果不佳。

不确定这里是否需要 FOR 命令。

答案1

如果您的文件名除了末尾之外不包含任何句点(.doc.pdf),则以下方法有效:

for /f "delims=." %a in ('dir /b *.doc.pdf') do ren "%~a.doc.pdf" "%~a.pdf"

答案2

ren * *. -> will give you 'file.doc' repeat above command -> will give you 'file' ren * *.pdf -> will give 'file.pdf'

答案3

ren *.doc.pdf ????????????????????.pdf

只需确保目标掩码至少?与最长的基本文件名一样多。

有关其工作原理的解释,请参阅Windows RENAME 命令如何解释通配符?

答案4

文件.doc.pdf --> 文件.doc:

for %I in (*.doc.pdf) do rename "%~nI.pdf" "%~nI"

文件.doc --> 文件.pdf

for %I in (*.doc) do rename "%~nI.doc" "%~nI.pdf"

相关内容