微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

批量重命名多个文件

你好人我有这个代码在.batch中:

@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION SET "sourcedir=C:Usersleandro.batistaDesktopreni" FOR /f "delims=" %%a IN ('dir /b /ad "%sourcedir%*.pdf" ') DO ( SET "csvname=%%~na" IF NOT "!csvname:*_=!"=="!csvname!" ( CALL :finddate REN *.pdf !csvname!.pdf PAUSE ) ) GOTO :EOF :finddate IF /i "%csvname:~-13%"=="" SET "csvname=%csvname:~0,-13%" IF "%csvname:*_=%"=="%csvname%" SET "csvname=%csvname:~0,13%"&GOTO :EOF SET "csvname=%csvname:*_=%" GOTO finddate

所以是的,现在我将解释,我有:finddate提取文件名的一部分,然后我在for循环中使用它来重命名文件

我正在做的是重命名多个文件在同一个文件夹,但我有问题,它不重命名多个文件,它只是重命名我1文件,然后离开其他人说,一个同名的文件已经存在,所以我认为我的循环不工作,因为我想它的工作。

文件名的例子是这样的:

AAA_BBB_CCC_DDD_01_M73N_(REC9ago2017) BLA BLA BLA BLA BLA BLA 1008.pdf

我需要一些帮助解决这个问题。

有没有办法重新命名目录,而不使用sed或重命名

Linux根据目录中的另一个文件重命名文件

批处理脚本移动包含特定string的文件

在Linux中删除文件名中的空格

创buildbatch file删除重命名和移动多个文件多个子文件

批量删除文件名称中特定字符之前和之后的文本

batch file:当另一个.xlsx文件存在于同一文件夹中时如何重命名.xls文件

Bashrecursion地replace名字上的许多空格

通过批量重命名文件名中间删除文本

使用batch file进行条件重命名

我通过@LotPings解决了这个问题。

我刚刚在REN线做了这个:

REN "%%a" "!csvname!.pdf"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐