Показать полную графическую версию : [решено] Переименование файла исходя из его названия
Доброго времени суток, прошу прощения если решение уже было. Поиском не нашел.
В папке есть файлы вида 1 Filename, 2 Filename, ... 53 Filename как их переименовать, чтобы остался только № без пробела? Пробовал четез Total Commander, но он оставляет либо первый знак, либо с пробелом.
Foreigner
08-09-2012, 16:23
Без расширения, просто "№ Filename"?
@echo off
for /f "tokens=1,2" %%i in ('dir /b') do ren "%%i %%j" "%%i"
Расширение *.pdf, т.е. должно получится:
@echo off for /f "tokens=1,2" %%i in ('dir /b *.pdf') do ren "%%i %%j" "%%i.pdf"
правильно?
Работает но только с простыми именами. Можно сделать чтобы обрабатывал имена типа:
53 лист - Чертеж АР-12.pdf ?
Foreigner
08-09-2012, 21:21
Можно сделать чтобы обрабатывал имена типа: »
@echo off
for /f "tokens=*" %%i in ('dir /b *.pdf') do (
for /f "tokens=1" %%j in ("%%i") do ren "%%i" %%j%%~xi
)
Работает, но не обрабатывает длинное тире —, остальные символы кушает.
Последнее: можно сделать, чтобы файл не обрабатывался повторно, если в названии только номер, иначе получается 53.pdf.pdf ?
Foreigner
08-09-2012, 22:13
иначе получается 53.pdf.pdf »
Замени во втором for: ...in ("%%i") do... на ...in ("%%~ni") do...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.