Показать полную графическую версию : [решено] Скриптик для бэкапа
awaken91
20-12-2012, 17:36
Добрый день, уважаемые пользователи форума. Я человек, который абсолютно не разбирается в написании скриптов. Может быть, кто-нибудь сможет написать следующий VBS скрипт:
1) он должен создать папку по вчерашнему числу в формате годмесяцчисло, например, 121119
2) он должен переместить папки с названиями аю, ют, вв, нс в эту папку. Правда, как правило, присутствуют одновременно только две из этих папок.
Пожалуйста, помогите, кто может, если это вообще реализуемо.
Папка, в которой нужно создать папку с числом - сетевая, вида \\filesrv-1\ЦНТРЛЗЦ\07.МШБР\КС\
Конечно, можно и бат-файлом, главное, чтобы встроенные средства Windows действовали.
Заранее благодарю!
он должен переместить папки с названиями аю, ют, вв, нс в эту папку. »
Откуда берутся эти папки, где они расположены?
awaken91
20-12-2012, 20:07
Папки находятся в \\filesrv-1\ЦНТРЛЗЦ\07.МШБР\КС\
собственно, создать папку со вчерашним числом нужно там же и переместить туда эти папки
awaken91, примерно так:
Option Explicit
Dim strFolderSource
Dim strFolderDest
Dim objFSO
Dim objFolder
'strFolderSource = "\\filesrv-1\ЦНТРЛЗЦ\07.МШБР\КС\"
strFolderSource = "E:\Песочница\0216\filesrv-1\ЦНТРЛЗЦ\07.МШБР\КС"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strFolderSource) Then
strFolderDest = .BuildPath(strFolderSource, LastDateFormat(Now()))
If Not .FolderExists(strFolderDest) Then
.CreateFolder strFolderDest
End If
For Each objFolder In .GetFolder(strFolderSource).SubFolders
Select Case objFolder.Name
Case "аю", "ют", "вв", "нс"
objFolder.Move strFolderDest & "\"
Case Else
' Nothing to do
End Select
Next
Else
WScript.Echo "Source folder [" & strFolderSource & "] not found"
End If
End With
WScript.Quit 0
'=============================================================================
'=============================================================================
Function LastDateFormat(dtDateTime)
Dim dtLastDate
dtLastDate = DateAdd("d", -1, dtDateTime)
LastDateFormat = _
Right(CStr(Year(dtLastDate)), 2) & _
Right("00" & CStr(Month(dtLastDate)), 2) & _
Right("00" & CStr(Day(dtLastDate)), 2)
End Function
'=============================================================================
awaken91
24-12-2012, 10:38
Попробовал, создал песочницу, не момент выполнения существовала папка вв на сервере, он создал в песочнице папку со вчерашним числом но не переместил туда вв.
Апдейт, поправил скрипт - получилось! =) Спасибо большое!
Апдейт, поправил скрипт - получилось! »
Что поправляли?
awaken91
25-12-2012, 12:02
'strFolderSource = "\\filesrv-1\ЦЕНТРАЛИЗАЦИЯ\07.МАШБЮРО\ОКИС\"
strFolderSource = "\\filesrv-1\ЦЕНТРАЛИЗАЦИЯ\07.МАШБЮРО\ОКИС"
Бэкап должен прямо на сервере в той же папке быть, собственно вот и вся правка
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC