Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Переименование по заданной маске bat (http://forum.oszone.net/showthread.php?t=297074)

Boiston 17-03-2015 23:42 2484093

Переименование по заданной маске bat
 
Камрады, помогите создать батник или ткните где можно подробнее почитать как создать вот такую штуку (батник для отчетов).

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

Есть папка отчеты, а в ней еще 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 2484104

Цитата:

Цитата Boiston
Есентуки »

С двумя «с».

Boiston 18-03-2015 00:36 2484105

Цитата:

Цитата Iska
С двумя «с». »

Я извиняюсь, это просто пример был.

Georgio 18-03-2015 01:15 2484115

С двумя «с»:):


Код:

@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


.


Время: 21:20.

Время: 21:20.
© OSzone.net 2001-