更改名称中间的一部分

时间:2018-10-25 10:35:11

标签: batch-file

我需要帮助(我已经把头撞在墙上了),我有几个文件想要更改名称中间的一部分。
示例:

scan1234.pdf_page02.pdf -> to -> scan1234_page01.pdf

我尝试过

ren *.pdf_page??.pdf *_page??.pdf

但是它不起作用...

也就是说,我需要从名称中间删除文本“ .pdf”。能帮我吗?

1 个答案:

答案 0 :(得分:3)

  1. 制作一个包含以下内容的批处理文件:

    for %%f in (scan????.pdf_page??.pdf) do call :renamefile "%%~f"
    exit /b
    :renamefile
    set "FILENAME=%~1"
    ren "%~1" "%FILENAME:.pdf_=_%"
    exit /b
    
  2. 运行它。

说明:

  • for语句遍历所有与scan????.pdf_page??.pdf匹配的文件,并调用:renamefile设置为文件名的子例程%1。如果格式过于严格,则可以尝试scan*.pdf_page*.pdf -我无法确定在scan之后是否有确切的四位数,在page之后是否有两位。

  • ren命令在变量替换中使用子字符串替换将.pdf_替换为_