Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Копирование файлов из подкаталогов только за текущую дату.

Ответить
Настройки темы
VBS/WSH/JS - [решено] Копирование файлов из подкаталогов только за текущую дату.

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день Уважаемые пользователи форума.
Передо мной стоит задача провести копирование файлов только за текущую дату.
В DirPath указана корневая директория, в которой создаются подкаталоги с именами папок (по дням юлианского календаря, к примеру 17036), в этих папках лежат некоторое количество файлов, нужно скопировать только файл с конкретным расширением, именно за сегодняшний день, в конкретную папку, без копирования директории (только файл).
У меня есть скрипт, но я никак не могу добавить туда фильтр по времени, не могли бы Вы помочь
Текст скрипта:

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Const ForAppending = 8
Dim fso,NewFile,sFolder, Time, currentDate, DT, DateVal

Set objNetwork = CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")

DirPath = "C:\Склады\"
TargetPath = "C:\1\Inward\22\"
Mask = ".x"

Function Format(N)
If N >= 10 Then
Format= Format & N
Else
Format= Format & "0" & N
End If
End Function
Set objFolder = fso.GetFolder(DirPath)

Set colSubfolders = objFolder.SubFolders
For Each objSubfolder in colSubfolders


varSrc = Replace(objSubfolder.Path, "\", "\\")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name=""" & varSrc & """} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
On Error Resume Next

SFile = objFile.Drive & objFile.Path & _
objFile.FileName & "." & objFile.Extension

ext = Right(objFile.Extension, Len(objFile.Extension))
bufExt = objFile.Extension
Trgt_ext = TargetPattern & ext
strNewName = objFile.Drive & objFile.Path & _
objFile.FileName & "." & Trgt_ext


hh = Hour(Now)
mm = Minute(Now)
ss = Second(Now)
LogTime = format(hh)&":"&Format(mm)&":"&format(ss)


fso.CopyFile strNewName , TargetPath

Next
Next

Отправлено: 13:53, 08-02-2017

 

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
WScript.StdOut.WriteLine "[" & objFolder.Path & "]" »
Добрый день. Спасибо Вам за скрипт.
Я попытался его запустить, но он не отработал, ругается на комментируемую строку.
в начале строки должен быть Set objSubFolder = ?

Отправлено: 09:18, 10-02-2017 | #11



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Как именно «ругается»? Покажите скриншот.

Вы запускаете его из-под cscript.exe?

Отправлено: 11:06, 10-02-2017 | #12


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 121212.JPG
(21.1 Kb, 1 просмотров)

Цитата Iska:
Как именно «ругается»? Покажите скриншот. »
Скриншот во вложении.

Цитата Iska:
Вы запускаете его из-под cscript.exe? »
Видимо тут моя очередная ошибка. я просто сделал файл в формате VBS и запускаю его.

Отправлено: 11:35, 10-02-2017 | #13


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Чтец123:
Видимо тут моя очередная ошибка. я просто сделал файл в формате VBS и запускаю его. »
Не ошибка. Просто WScript.StdOut работает только под консольным cscript.exe. То есть, запускайте в консоли в виде:
Код: Выделить весь код
cscript.exe //nologo "Путь\Скрипт.vbs"
Потом сможете убрать/поменять/перенаправить вывод в файл/лог.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:19, 10-02-2017 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Копирование файлов из подкаталогов только за текущую дату.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование файлов за текущую дату! erorr Скриптовые языки администрирования Windows 14 27-10-2016 22:13
CMD/BAT - Копирование файлов по маске за текущую дату или пропуская ранее скопированные файлы jastreb83 Скриптовые языки администрирования Windows 3 19-08-2014 13:36
VBS/WSH/JS - Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов spke Скриптовые языки администрирования Windows 0 10-04-2013 23:58
CMD/BAT - нужно извлечь из архива определенные файлы за текущую дату alek2012 Скриптовые языки администрирования Windows 0 20-06-2012 15:24
CMD/BAT - копирование файлов за текущую дату с сервера на сервер 6a6yko Скриптовые языки администрирования Windows 10 21-06-2011 13:00




 
Переход