Переименовать с помощью командного файла - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь создать пакетный файл (.bat), который будет переименовывать любые файлы в папке, чтобы удалить все, кроме первых 6 чисел.Файлы будут в формате PDF, но переименование всех файлов в папке - это нормально.Примером имени файла будет 123456-AmortizedLoanStatement-123456-094644982.pdf.Я бы хотел, чтобы он был 123456.pdf

Я нашел похожий пост по этому вопросу, но не смог заставить этот код работать: автоматическое переименование командного файла

Спасибо, ребята!

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Может быть, это все, что вам нужно:

Ren "C:\path to\a folder\??????-*.pdf" "??????.pdf"

(предполагается, что у вас нет нескольких файлов, начинающихся с одинаковых шести символов)

0 голосов
/ 10 мая 2018

Партия Magoo идеально подходит для вашей задачи,
вам просто нужно изменить разделитель с _ на - в двух местах и ​​выбрать расширение.

@ECHO OFF
SETLOCAL
SET "sourcedir=."
FOR %%a IN ("%sourcedir%\*-*.pdf") DO (
 FOR /f "tokens=1*delims=-" %%b IN ("%%a") DO IF NOT "%%c"=="" (
 ECHO(REN "%%a" %%~nb%%~xa
 )
)

GOTO :EOF

Это было не сложно найти.

...