Компьютерный форум 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=262815)

PAlkovnic 20-06-2013 10:42 2171122

Перемещение данных в подпапки с указанием даты
 
Добрый день!
Имеются две папки: C:\Source и C:\Dest. Необходимо переместить содержимое папки C:\Source в папку C:\Dest\YYYYMMDD, где YYYYMMDD - текущая дата. Скрипт будет запускаться раз в сутки и переносить наработанные данные в папку с указанием дня работ. Один нюанс, поскольку скрипт будет запускаться в 00:00:00, возможно, необходимо, что бы дата была вчерашней.
Заранее Благодарю!

Iska 20-06-2013 13:36 2171193

PAlkovnic, у Вас что — семинар?

Цитата:

Цитата PAlkovnic
Имеются две папки: C:\Source »

Поправили по сравнению с прошлым вопросом, да ;)?


Код:

Option Explicit

Dim strSourceFolder
Dim strDestFolder
Dim strDestPath


strSourceFolder = "C:\Source"
strDestFolder  = "C:\Dest"

With WScript.CreateObject("Scripting.FileSystemObject")
        If .FolderExists(strSourceFolder) Then
                If .FolderExists(strDestFolder) Then
                        strDestPath = .BuildPath(strDestFolder, GetPrevDateToString())
                        CreateFolderEx strDestPath
                       
                        If .GetFolder(strSourceFolder).SubFolders.Count > 0 Then
                                .MoveFolder .BuildPath(strSourceFolder, "*.*"), strDestPath
                        End If
                       
                        If .GetFolder(strSourceFolder).Files.Count > 0 Then
                                .MoveFile  .BuildPath(strSourceFolder, "*.*"), strDestPath
                        End If
                Else
                        WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
                End If
        Else
                WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
        End If
End With

WScript.Quit 0
'=============================================================================

'=============================================================================
Function GetPrevDateToString()
        Dim dtDate
       
        dtDate = DateAdd("d", -1, Date())
       
        GetPrevDateToString = Right("0000" & CStr(Year(dtDate)), 4) & Right("00" & CStr(Month(dtDate)), 2) & Right("00" & CStr(Day(dtDate)), 2)
End Function
'=============================================================================

'=============================================================================
Sub CreateFolderEx(strPath)
        With WScript.CreateObject("Scripting.FileSystemObject")
                If Not .FolderExists(strPath) Then
                        CreateFolderEx .GetParentFolderName(strPath)
                        .CreateFolder strPath
                End If
        End With
End Sub
'=============================================================================


PAlkovnic 20-06-2013 14:13 2171210

Цитата:

Цитата Iska
у Вас что — семинар? »

Нет :( , сказали сделать, спросил сроки, "позавчера" был ответ.
И именно по этому опечатался в предыдущей теме, спешил.
За скрипт огромная благодарность! Выручили!

Iska 20-06-2013 15:08 2171236

Цитата:

Цитата PAlkovnic
спросил сроки, "позавчера" был ответ. »

Ну, это как обычно ;).


Время: 19:49.

Время: 19:49.
© OSzone.net 2001-