![]() |
Пакетное переименование файлов с отсечением лишнего в имени.
Здравствуйте, помогите пожалуйста.
Столкнулся с проблемой. Есть папка в неё сыплются файлы, очень много файлов, с именами вида ЕСТЬ
PA-1312.PDF
бла-бла-блаPA-1513.PDF PA-6734тыц-тыц-тыц.PDF PA-6734тру-ля-ля.PDF ля-ля-ляPA-5617ля-ля-ля.PDF то есть в имени есть неизменная часть "PA-" и следующие за ней случайные 4 символа (вся проблема в этих символах). Задача состоит в том что нужно переименовать все файлы удалив из имени все символы до и после PA-XXXX если они есть. А если в папке уже есть файл с таким же именем, добавить к имени счетчик. НУЖНО
PA-1312.PDF
PA-1513.PDF PA-6734.PDF PA-6734 1.PDF PA-5617.PDF Заранее ОГРОМНОЕ СПАСИБО за помощь. Удалить ДО PA-XXXX (подсмотренно у Iska)
@echo off setlocal enableextensions enabledelayedexpansion set sSourceFolder=D:\Otchet 2>nul pushd "%sSourceFolder%" && ( for /f "usebackq delims=" %%i in ( `2^>nul dir /b /a:-d` ) do ( set sVar=%%~i ren "%%~i" "!sVar:*PA-=!" ) popd ) || ( echo Can't find source folder [%sSourceFolder%] exit /b 1 ) endlocal exit /b 0 |
Код:
@echo off |
LukAleX, попробуйте так (WSH):
Скрытый текст
Код:
Option Explicit Нумерацию я таки сделал с двойки, а не с единицы. |
Можно было бы 100 раз тыкнуть в "полезное сообщение", клянусь тыкнул бы.
Спасибо ОГРОМНОЕ за помощь. Все работает отлично. |
Время: 22:20. |
Время: 22:20.
© OSzone.net 2001-