1 (изменено: alexii, 2012-01-24 16:55:11)

Тема: WSH: добавить дату к имени файла

Всем привет! Есть скрипт, который выгружает базу 1с и кладет ее в каталог. Но каждый раз, когда он кладет ее в каталог предыдущая копия базы затирается. На ум пришло, к имени базы прикреплять дату, но как это сделать не сообразил. Вот скрипт:

Set WshShell=CreateObject("WScript.Shell")

ReturnCode=WshShell.Run("""C:\Program Files\1cv81\bin\1CV8.EXE"" CONFIG /S ""sql_hiper\dkp""/N ""Администратор""/P ""mikromax""/DumpIB ""F:\bac\dkp\DKP_Backup.dt""")

В конструкции RUN cmd инструкция запуска базы и ее выгрузка в каталог. Сейчас при выгрузке выгружается файл вида F:\bac\dkp\DKP_Backup.dt и каждый раз идет перезатирание (скрипт запускается через «Назначенные задания»), а нужно чтобы было так:

F:\bac\dkp\DKP_Backup24012012.dt 
F:\bac\dkp\DKP_Backup25012012.dt

и т.д.

Спасибо!

2

Re: WSH: добавить дату к имени файла

Даурен, я написал правильный заголовок темы, перенёс в правильный раздел форума, оформил текст согласно Правилам форума, исправил более-менее орфографию, грамматику и стилистику.

В дальнейшем жду этого от Вас.

3

Re: WSH: добавить дату к имени файла

Может вот так:

Dim strRun

if  day(date) < 10 then strRun="0"
strF=strF & day(date) 

if  month(date) < 10 then strRun=strF & "0"
strRun=strRun & month(date) 

strRun=strRun & Year(date)
strRun="""C:\Program Files\1cv81\bin\1CV8.EXE"" CONFIG /S ""sql_hiper\dkp""/N ""Администратор""/P ""mikromax""/DumpIB ""F:\bac\dkp\DKP_Backup" & strRun & ".dt"""                

Set WshShell=CreateObject("WScript.Shell")

ReturnCode=WshShell.Run(strRun)

4

Re: WSH: добавить дату к имени файла

Да,классный вариант, сработало! Спасибо огромное! Именно то что нужно и все грамотно работает.
Хотел chichva сказать спасибо не нашел где.
Надо бы форуму добавить систему спасибок пользователю.

5

Re: WSH: добавить дату к имени файла

а чем к примеру replace(date,".","") не канает ?

Я конечно далек от мысли... (с)

6

Re: WSH: добавить дату к имени файла

smaharbA пишет:

а чем к примеру replace(date,".","") не канает ?

Так я, только недавно за VBScript взялся, так сказать - разведка-боем.

7

Re: WSH: добавить дату к имени файла

Ну, что окончательный вариант:

Dim strRun
strRun="""C:\Program Files\1cv81\bin\1CV8.EXE"" CONFIG /S ""sql_hiper\dkp""/N ""Администратор""/P ""mikromax""/DumpIB ""F:\bac\dkp\DKP_Backup" & replace(date,".","") & ".dt"""                

Set WshShell=CreateObject("WScript.Shell")

ReturnCode=WshShell.Run(strRun)

8

Re: WSH: добавить дату к имени файла

лучше будет так как то

set x=new RegExp
x.Pattern="[^0-9]"
msgbox(replace(date,x.Execute(date)(0),""))

Я конечно далек от мысли... (с)

9

Re: WSH: добавить дату к имени файла

Или так даже

set x=new RegExp
x.Pattern="[^0-9]"
x.Global=true
msgbox(x.replace(date,""))
Я конечно далек от мысли... (с)