Войти

Показать полную графическую версию : [решено] Переименование по заданной маске bat


Boiston
17-03-2015, 23:42
Камрады, помогите создать батник или ткните где можно подробнее почитать как создать вот такую штуку (батник для отчетов).

Хочется упросить рутинные отчеты с помощью переименования файлов

Есть папка отчеты, а в ней еще 6 папок (касса1, касса2, касса3,..., касса6), в каждой из которой хранятся 3 pdf скана-файла, с названиями 1.pdf, 2.pdf, 3.pdf.

Помогите написать батник переименовывающий файлы в папке по заданной маске.

Маска
У всех 3 pdf файлов есть постоянные и есть переменные вот примерно, что должно получиться в моём понимании.
1.pdf должен быть Z-отчет_%название папки в которой он лежит%_%сегодняшняя дата в формате 17.03.2015%_СЗ_Ессентуки_48.pdf
2.pdf должен быть КМ6_%название папки в которой он лежит%_%сегодняшняя дата в формате 17.03.2015%_СЗ_Ессентуки_48.pdf
3.pdf должен быть Эквайринг__%название папки в которой он лежит%_%сегодняшняя дата в формате 17.03.2015%_СЗ_Ессентуки_48.pdf

На выходе получаем
1.pdf = Z-отчет_348153_17.03.2015_СЗ_Ессентуки_48.pdf
2.pdf = КМ6_348153_17.03.2015_СЗ_Ессентуки_48.pdf
3.pdf = Эквайринг_348153_17.03.2015_СЗ_Ессентуки_48.pdf

Помогите написать bat

Iska
18-03-2015, 00:33
Есентуки »
С двумя «с».

Boiston
18-03-2015, 00:36
С двумя «с». »
Я извиняюсь, это просто пример был.

Georgio
18-03-2015, 01:15
С двумя «с»:):


@echo off
>nul chcp 1251

set "folder=D:\отчеты"

pushd "%folder%"
for /f "delims=" %%i in ('
2^>nul dir/a-d/b/s "1.pdf" "2.pdf" "3.pdf"
') do (
for %%j in ("%%~dpi.") do (
if "%%~ni" equ "1" (
ren "%%i" "Z-отчет_%%~nxj_%date%_СЗ_Ессентуки_48.pdf"
)
if "%%~ni" equ "2" (
ren "%%i" "КМ6_%%~nxj_%date%_СЗ_Ессентуки_48.pdf"
)
if "%%~ni" equ "3" (
ren "%%i" "Эквайринг_%%~nxj_%date%_СЗ_Ессентуки_48.pdf"
)
)
)
popd

exit/b


.




© OSzone.net 2001-2012