Windows 批处理脚本用它的第一行重命名 PDF 文件(循环可能)?

Posted

技术标签:

【中文标题】Windows 批处理脚本用它的第一行重命名 PDF 文件(循环可能)?【英文标题】:Windows Batch Script to Rename PDF Files with it's First Line (Loop Possible)? 【发布时间】:2021-11-16 06:25:33 【问题描述】:

是否可以循环使用此代码重命名文件夹中的所有 PDF? 至少在循环和变量设置方面,我对 Windows 批处理脚本不是很好。

@echo off
pdftotext "XYZ.pdf"
rem set /p title=< "XYZ.txt":
set /p title=< "XYZ.txt" 
ren "XYZ.pdf" %title%.pdf
pause

【问题讨论】:

【参考方案1】:

您需要使用FOR /F 命令捕获DIR 命令的输出。这是必要的,因为标准的FOR 命令可能会尝试处理已重命名的文件。

这是未经测试的,因为我没有您用来转换 PDF 文件的软件。

@echo off

FOR /F "delims=" %%G IN ('dir /a-d /b *.pdf') DO (
    pdftotext "%%~G"
    set /p title=<"%%~nG.txt"
    setlocal enabledelayedexpansion
    ren "%%~G" "!title!.pdf"
    endlocal
)

【讨论】:

以上是关于Windows 批处理脚本用它的第一行重命名 PDF 文件(循环可能)?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Windows 批处理脚本重命名目录中的所有文件

查找和重命名没有扩展名的文件?

我必须在 unix 中用其内容的第一个单词重命名所有文件名

Windows批处理脚本实现批量复制文件并重命名

python读取指定目录中所有文本文件的第一行,并以此为该文本文件名重命名

使用批处理脚本重命名上个月的文件