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

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

stolyar 26-03-2010 06:53 1377414

Архивирование
 
Товарищи, прошу помочь!
Формируется прайс-лист в 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 1377539

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

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

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

stolyar 26-03-2010 11:28 1377572

Цитата:

Цитата Busla
файл из этого каталога архивируем и удаляем »

Вручную?
Цитата:

Цитата Busla
в итоге в нашем каталоге всегда будет только один актуальный последний прайс »

при следующей выгрузке снова надо будет архивировать и удалять.
В общем, ничего не понял что Вы хотели сказать...

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

El Sanchez 26-03-2010 13:15 1377669

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 1377689

Цитата:

Цитата El Sanchez
*.xml »

Вариант! Но мне не надо все Экселевкие документы архивировать. Надо конкретный.
Так можно было бы и каталог в целом в архив загнать и все..... но нет...

El Sanchez 26-03-2010 14:42 1377745

Лады. Если дата в названии файла формируется с помощью переменной %date%, то замените 2 строку на
Код:

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

stolyar 26-03-2010 15:04 1377765

Цитата:

Цитата El Sanchez
дата в названии файла формируется с помощью переменной %date% »

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

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

El Sanchez 26-03-2010 16:32 1377843

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 1379008

что проще:
Код:

set CURDATE=%DATE%
set CURDATE=%CURDATE:~4,2%.%CURDATE:~7,2%.%CURDATE:~12,2%
winrar a m5 "прайс-лист от %CURDATE%"

хотя не проверял, но работать должно, если конечно %DATE% у тебя возвращает "Fri 03/26/2010"


Время: 16:33.

Время: 16:33.
© OSzone.net 2001-