Пакетное переименование файлов в папке - PullRequest
0 голосов
/ 01 октября 2011

У меня есть несколько файлов (около 10000 файлов) в формате ниже

SDEF-2001-23965-236.pdf
SlkF-1991-65-123.pdf

Я хочу проверить, находится ли имя файла в требуемом формате, переименуйте его, удалив 4 символа из конца

SDEF-2001-23965-236.pdf >>SDEF-2001-23965.pdf

SlkF-1991-65-123.pdf    >>SlkF-1991-65.pdf 

Я не знаю, как мне создать .bat-файл, который может делать то, что мне нужно.

1 Ответ

2 голосов
/ 01 октября 2011

Вам нужно «String Manipulation» в DOS, полезна следующая ссылка:

http://www.dostips.com/DtTipsStringManipulation.php


Если у вас есть *.pdf файлы в формате aaaa-bbb-cc-ddd.ext (4 части + расширение)

Создать файл с именем rn.bat:

@echo off
set str=%1
for /f "tokens=1,2,3,4 delims=- " %%a in ("%str%") do set p1=%%a&set p2=%%b&set p3=%%c&set p4=%%d
set ext=%str:~-4%
set "result=%p1%-%p2%-%p3%%ext%"
ren %1 %result%

Создать файл с именем rnall.bat:

@echo off
for %%i in (%1) do rml.bat %%i

Затем введите команду: rnall *.pdf в командной строке.

Это не лучший код, вы можете использовать функции, чтобы сделать его лучше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...