![]() |
Копирование файлов в папке и ее подпапках которые не старше 5минут
Доброе время суток! Попрошу усовершенствовать, найденный мною на просторах интернета, скрипт.
Так как хоть и пытаюсь освоить vbs, но пока что знаний на решение данной задачи не хватает. И может у кого-то уже есть свои похожие наработки =), которыми не жалко поделиться. Во всяком случае буду благодарен за любую активность включая критику, замечания, юмор. =) Задача скрипта заключается в следующем: Нужно скопировать из папки (и ее подпапок) "\\server\data" в папку "\\user1\1\%текщий год%\%текущий месяц%\%текущая дата%" все файлы дата создания которых не старше 5 минут. Скрытый текст
StartFolder = “\\server\data” ‘ откуда копируем
EndFolder = “\\user1\1\” ‘ куда копируем dtCutOff=DateAdd("n", -5, Now)‘ 5 минут Set WshShell = CreateObject("WScript.Shell") Set objFSO=CreateObject("Scripting.FileSystemObject") Set objFolder=objFSO.GetFolder(StartFolder) Set colFiles=objFolder.Files For Each file In colFiles If file.DateCreated> dtCutoff Then StartFolder.CopyFile file, EndFolder & File.Name, True Next |
пробовал копировать через комманду:
Скрытый текст
forfiles /S /P "D:\!EMAIL" /C "cmd /c XCOPY @file D:\%date:~6,4%\%date:~3,2%\%date:~0,2%\EMAIL\ /y" /D %date%
Вместо %date% подставлял "0", тот же результат. Но она копирует все файлы из папок дата изменения которых(папок) сегодня вне зависимости от даты создания файлов, но мне нужно копировать только файлы дата создания/изменения которых сегодня. Попробую еще robocopy может эта команда сработает адекватно... Вроде бы решил задачу через: robocopy D:\Post\!EMAIL\ "D:\new" *.* /S /R:1 /W:1 /MAXAGE:1 Но не до конца так как указаная команда копирует вместе с файлом еще и путь к файлу... |
Время: 06:36. |
Время: 06:36.
© OSzone.net 2001-