Войти

Показать полную графическую версию : Архивирование


stolyar
26-03-2010, 06:53
Товарищи, прошу помочь!
Формируется прайс-лист в 1С, и называется, типа, - "прайс-лист от dd.mm.yy". Нужно создать батник, при запуске которого выполнялось бы архивирование этого прайса. Я написал:
cd %programfiles%\winrar
winrar a m5 "прайс-лист от %date%"
при этом %date% понимается как,допустим - "Fri 03/26/2010". И не распознает кирилицу. Отображает иероглифы.

Как написать батник, который бы распознавал русские буквы и поле даты было указано в формате "dd.mm.yy" ?
Заранее благодарю!

Busla
26-03-2010, 10:55
stolyar, я бы несколько иначе решил эту задачу:
выгружаем прайс в отдельный каталог а не в %ProgramFiles%\WinRar
файл из этого каталога архивируем и удаляем

в итоге в нашем каталоге всегда будет только один актуальный последний прайс, вычислять имя конкретного файла не потребуется.

Для пущей надёжности можно зачищать каталог полностью и перепроверять кол-во файлов в нём.

stolyar
26-03-2010, 11:28
файл из этого каталога архивируем и удаляем »
Вручную?
в итоге в нашем каталоге всегда будет только один актуальный последний прайс »
при следующей выгрузке снова надо будет архивировать и удалять.
В общем, ничего не понял что Вы хотели сказать...

З.Ы.
Прайс формируется ежедневно. Вид его такой - "прайс-лист от 26.03.10.xls" (меняется с каждым днем только дата). Архивировать в другой каталог мне не надо. Потому что этот каталог доступен для пользователей, которым прайс необходим. В каталоге, куда он формируется, находятся еще другие прайсы, которые тоже необходимы...

El Sanchez
26-03-2010, 13:15
stolyar,


@echo off
set "Source=C:\Otchety\*.xml"

for %%a in (%Source%) do "%ProgramFiles%\WinRAR\rar.exe" a -m5 -ep "%%~dpa\%%~na" "%%a"

stolyar
26-03-2010, 13:39
*.xml »
Вариант! Но мне не надо все Экселевкие документы архивировать. Надо конкретный.
Так можно было бы и каталог в целом в архив загнать и все..... но нет...

El Sanchez
26-03-2010, 14:42
Лады. Если дата в названии файла формируется с помощью переменной %date%, то замените 2 строку на

set "Source=C:\Otchety\прайс лист от %Date%.xml"

stolyar
26-03-2010, 15:04
дата в названии файла формируется с помощью переменной %date% »
Да, это понятно. Только вот когда ставишь эту переменную, дата указывается в формате, типа - "Fri 03/26/2010". А в названии прайса дата в другом формате - "dd.mm.yy"

Пробовал редактировать в региональных стандартах дату, но ничего не изменило это.....

El Sanchez
26-03-2010, 16:32
stolyar,


@echo off
for /f "tokens=2-4 delims=/ " %%a in ("%Date%") do set "Source=C:\Otchety\прайс лист от %%b.%%a.%%c.xml"
for /f "delims=*" %%a in ('echo %Source%') do "%ProgramFiles%\WinRAR\rar.exe" a -m5 -ep "%%~dpa\%%~na.rar" "%%a"

jotto
28-03-2010, 13:33
что проще:
set CURDATE=%DATE%
set CURDATE=%CURDATE:~4,2%.%CURDATE:~7,2%.%CURDATE:~12,2%
winrar a m5 "прайс-лист от %CURDATE%"
хотя не проверял, но работать должно, если конечно %DATE% у тебя возвращает "Fri 03/26/2010"




© OSzone.net 2001-2012