#batch-file #pdf #scripting #rename #pdftotext
Вопрос:
Можно ли зациклить это, чтобы переименовать все 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:
Вы захотите записать вывод DIR
команды с FOR /F
помощью команды. Это необходимо, поскольку стандартная 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
)