1 (изменено: xsanekk, 2011-11-28 18:33:30)

Тема: WSH: Копирование с ведением лога скопированных файлов

Добрый день! Я искал долго в интернете и на вашем форуме скрипт на vbs wsf bat для своей задачи но похожего нет, к сожалению я чайник в программировании хотя ваш форум дал хоть какое то представление о скриптах vbs wsf...

Помогите пожалуйста с автоматизацией такого процесса: Необходимо копировать(не перемещать) файлы из папки А в папку Б по маске в течении дня, непрерывно сканируя папку А на входящие файлы. Когда в папку Б попадают файлы они обрабатываются программой и перемещаются оттуда, то есть папка Б пустая,главное туда не должно попадать дубли файлов которые мы уже копировали в папку Б в течении дня.

Как я вижу алгоритм решения этой проблемы:
Мы копируем из папки А в папку Б по маске A4???200.7kz и J4???200.7kz и записываем построчно в текстовый файл log.txt имена скопированных файлов. Потом считывая log.txt мы копируем уже уникальные файлы не дублируя уже имеющиеся.

P.S. Я уже месяц пытаюсь написать скрипт но не получается, к сожалению книгу толковую я так и не нашел.

2

Re: WSH: Копирование с ведением лога скопированных файлов

Укажите язык в заголовке темы.

3

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk, несколько вопросов:

1. Речь идёт только о файлах? То есть, на вложенные папки мы не реагируем, так?
2. Дублями мы считаем файлы одинаковые по имени, совершенно не учитывая их содержимое?
3. О каком количестве файлов идёт речь (в день)? Каков примерный средний объём одного файла?
4. В какой момент времени мы начинаем отсчёт «нового дня»?

4

Re: WSH: Копирование с ведением лога скопированных файлов

1. Да речь идет только о файлах, вложенные папки не надо сканировать.
2. Да именно только имена файлов, внутри файла ничего смотреть не надо
3. Речь идет примерно о 50 файлах в день, объем примерно от 5 килобайт до 100 кб
4. Утром все начинается с 9-00

спасибо за быстрое реагирование))

5 (изменено: xsanekk, 2011-11-28 21:08:49)

Re: WSH: Копирование с ведением лога скопированных файлов

а и еще в папке Б находится папка VPS куда попадают обработанные файлы, имена такие же и не изменяются, короче там архив этих файлов за месяц примерно 1500. Тогда может сделать следующий алгоритм как я думаю... Из папки А копировать файлы в папку Б с верификацией(проверкой на совпадение имен) в папке VPS которая находится в папке Б

6

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk пишет:

а и еще в папке Б находится папка VPS куда попадают обработанные файлы, имена такие же и не изменяются, короче там архив этих файлов за месяц примерно 1500. Тогда может сделать следующий алгоритм как я думаю... Из папки А копировать файлы в папку Б с верификацией(проверкой на совпадение имен) в папке VPS которая находится в папке Б

Данный вариант более интересен и его моему совсем несложно сделать пакетным cmd-файлом с циклом по файлам в А и проверками на наличие в Б, чем рисовать vbs-скрипт.
Но ведь неизвестно как часто у Вас инициируется обработка файлов в Б приложением и как долго она длится, т.е. теоретически возможна коллизия - файл в архив еще не попал, а у нас уже есть его дубль в А, но мы его дублем еще не считаем, в дан.случае не помешает еще и проверка на наличие в Б необработанного файла.

Т.к. объемы за день вовсе не велики, то еще можно копировать сразу в два места: в Б и в В (архив скопированного за день) и при последующих сканированиях копирование запускать если текущий файл отстутствует в В. Утром на "открытии дня" надо В очищать. Или вместо копирования в В - пополнять некий текстовый файл именами файлов (Ваш вариант!:) и плюс для протоколированием - датой-временем обработки, а считывание текстового файла и разбор его на строки и составляющие также несложно делается cmd-шной командой FOR.

И еще вопрос - а все ли файлы после обработки попадают в архив VPS, может программа ведет еще и архив необрабатываемых по какой-то причине, например, из-за "поломки" файла ? - не наступает же программа на одни и те же "грабли", пока смотрящий не выймет файл из Б вручную.

WBR. Roman

7

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk, попробуйте так:

Option Explicit

Dim strSourceFolder
Dim strDestFolder
Dim strMask

Dim strComputer

Dim objFSO

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemSink
Dim objSWbemEventSource

Dim objDictionary
Dim strFileName


strSourceFolder = "E:\Песочница\0095\0001"
strDestFolder   = "E:\Песочница\0095\0002"
strMask         = "[AJ]4___200.7kz"

strComputer     = "."

Set objFSO              = WScript.CreateObject("Scripting.FileSystemObject")

Set objSWbemLocator     = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx  = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

Set objSWbemSink        = WScript.CreateObject("WbemScripting.SWbemSink","WbemSink_")

objSWbemServicesEx.ExecNotificationQueryAsync objSWbemSink, _
    "SELECT * FROM __InstanceModificationEvent WHERE " & _
    "TargetInstance ISA 'Win32_LocalTime' AND " & _
    "TargetInstance.Hour = 0 AND " & _
    "TargetInstance.Minute = 31 AND " & _
    "TargetInstance.Second = 0"

Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
    "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " & _
    "TargetInstance ISA 'CIM_DataFile' AND " & _
    "TargetInstance.Drive = '" & objFSO.GetDriveName(strSourceFolder) & "' AND " & _
    "TargetInstance.Path = '" & Replace(objFSO.BuildPath(Mid(strSourceFolder, Len(objFSO.GetDriveName(strSourceFolder)) + 1), "\"), "\", "\\") & "' AND " & _
    "TargetInstance.FileName LIKE '" & Split(strMask, ".")(0) & "' AND " & _
    "TargetInstance.Extension = '" & Split(strMask, ".")(1) & "'")

Set objDictionary       = WScript.CreateObject("Scripting.Dictionary")

Do
    With objSWbemEventSource.NextEvent.TargetInstance
        WScript.Echo
        WScript.Echo Now() & " New file [" & .Name & "] found"
        
        strFileName = .FileName & "." & .Extension
        
        If Not objDictionary.Exists(strFileName) Then
            If .Rename(strDestFolder & "\" & strFileName) = 0 Then
                WScript.Echo Now() & " File [" & .Name & "] moved into [" & strDestFolder & "] successfully"
                
                objDictionary.Add strFileName, .Name
            Else
                WScript.Echo Now() & " Can't move file [" & .Name & "] into [" & strDestFolder & "]"
            End If
        Else
            WScript.Echo Now() & " File name [" & .Name & "] is duplicate of previous file name"
            
            If .Delete() = 0 Then
                WScript.Echo Now() & " Duplicate file [" & .Name & "] deleted successfully"
            Else
                WScript.Echo Now() & " Can't delete duplicate file [" & .Name & "]"
            End If
        End If
    End With
Loop

objSWbemSink.Cancel

Set objDictionary       = Nothing
Set objSWbemEventSource = Nothing
Set objSWbemSink        = Nothing
Set objSWbemServicesEx  = Nothing
Set objSWbemLocator     = Nothing
Set objFSO              = Nothing

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

'=============================================================================
Sub WbemSink_OnObjectReady(objSWbemObjectEx, objSWbemAsyncContext)
    objDictionary.RemoveAll
    
    WScript.Echo Now() & " Clear list of duplicate file names"
End Sub
'=============================================================================

Запускать, естественно, под «cscript.exe». Общий сценарий: каждые пять секунд проверяется наличие нового файла в «strSourceFolder», совпадающего по маске «strMask», указанной Вами выше (вложенные папки не проверяются, прочие файлы, не подходящие под маску, никак не учитываются — т.е. так и останутся там лежать). Если файла с таким именем за сегодня не было — он перемещается в папку «strDestFolder», его имя запоминается. Если файл с таким именем уже был за сегодня — он просто удаляется.

Обращаю Ваше внимание на два обстоятельства:

1. Если целевая папка расположена на разделе, отличном от раздела исходной папки — исходный файл не может быть перемещён. Если у Вас именно так — говорите, будем менять скрипт.
2. Если по каким-то причинам в целевой папке остался файл с таким же именем — исходный файл не может быть перемещён.

Раз в день, в 8:59:00 очищается список дубликатов имён перемещённых файлов.

8

Re: WSH: Копирование с ведением лога скопированных файлов

Спасибо большое! К сожалению я чайник, не знаю как запустить толком, создал батник в нем прописал cscript C:\VBS\reys.vbs тестирую пока в этой папке, поправил пути но почему то ничего не происходит... щас буду дальше мучится

А можно что бы файлы не перемещались а именно копировались, потому что это принципиально....

9

Re: WSH: Копирование с ведением лога скопированных файлов

сделал вот такой батник cscript C:\VBS\ reys.wsh //H:CScript
выдает ошибку Ошибка при выполнении сервера сценариев недостаточно памяти

10

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk пишет:

можно что бы файлы не перемещались а именно копировались, потому что это принципиально....

Прошу прощения, я плохо читал Ваш пост:

xsanekk пишет:

Необходимо копировать(не перемещать) файлы…

Тогда вопрос: откуда тогда такое:

…туда не должно попадать дубли файлов которые мы уже копировали в папку Б в течении дня.

требование? Ведь, если файлы не перемещаются из А в Б, а копируются, то нет нужды следить за именами. Или Вы подразумеваете, что кто-то может переписывать уже существующие файлы в А поверх?

Плюс такой вопрос: каким образом поступать при таком положении дел к 9:00?

11 (изменено: xsanekk, 2011-11-29 14:36:50)

Re: WSH: Копирование с ведением лога скопированных файлов

Дело в том что файлы берутся из А, кладутся в Б, а в Б они обрабатываются программой и если программа уже обрабатывала файл сегодня, то она выдает ошибку что это дубль и я типа обрабатывала его и останавливается (в папку VPS  как раз падают эти обработанные файлы). Поэтому и надо следить за тем что бы именно копировались уникальные файлы, вот такая вот задача, извините наверное я неправильно выразился.

А в 9 это очень хорошо что очищает каталог!

12 (изменено: xsanekk, 2011-11-29 14:45:31)

Re: WSH: Копирование с ведением лога скопированных файлов

Rom5 пишет:
xsanekk пишет:

а и еще в папке Б находится папка VPS куда попадают обработанные файлы, имена такие же и не изменяются, короче там архив этих файлов за месяц примерно 1500. Тогда может сделать следующий алгоритм как я думаю... Из папки А копировать файлы в папку Б с верификацией(проверкой на совпадение имен) в папке VPS которая находится в папке Б

Данный вариант более интересен и его моему совсем несложно сделать пакетным cmd-файлом с циклом по файлам в А и проверками на наличие в Б, чем рисовать vbs-скрипт.

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


Rom5 пишет:

Но ведь неизвестно как часто у Вас инициируется обработка файлов в Б приложением и как долго она длится, т.е. теоретически возможна коллизия - файл в архив еще не попал, а у нас уже есть его дубль в А, но мы его дублем еще не считаем, в дан.случае не помешает еще и проверка на наличие в Б необработанного файла.

Коллизия то вот в том то и дело! Как сделать проверку вот думаю, но времени нет что бы заняться только этим делом, постоянно отвлекают поэтому и обратился за помощью к Вам.


Rom5 пишет:

Т.к. объемы за день вовсе не велики, то еще можно копировать сразу в два места: в Б и в В (архив скопированного за день) и при последующих сканированиях копирование запускать если текущий файл отстутствует в В. Утром на "открытии дня" надо В очищать. Или вместо копирования в В - пополнять некий текстовый файл именами файлов (Ваш вариант!:) и плюс для протоколированием - датой-временем обработки, а считывание текстового файла и разбор его на строки и составляющие также несложно делается cmd-шной командой FOR.

в папку В нельзя копировать, потому что туда валятся файлы после проверки, и причем в папке Б сама программа очищает каталоги каждый день при "открытии дня"


Rom5 пишет:

И еще вопрос - а все ли файлы после обработки попадают в архив VPS, может программа ведет еще и архив необрабатываемых по какой-то причине, например, из-за "поломки" файла ? - не наступает же программа на одни и те же "грабли", пока смотрящий не выймет файл из Б вручную.

нет архива забракованных нет...

13 (изменено: Rom5, 2011-11-30 02:23:24)

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk пишет:

в папку В нельзя копировать, потому что туда валятся файлы после проверки, и причем в папке Б сама программа очищает каталоги каждый день при "открытии дня"
[..]

Rom5 пишет:

И еще вопрос - а все ли файлы после обработки попадают в архив VPS, может программа ведет еще и архив необрабатываемых по какой-то причине, например, из-за "поломки" файла ? - не наступает же программа на одни и те же "грабли", пока смотрящий не выймет файл из Б вручную.

нет архива забракованных нет...

Хмм.. Т.е. обработка всегда - положительная?) А что запускает программу обработки - как-то шедулером? или вручную? или она циклически сама проверяет?..


Предложенная выше мной папка "В" - это не уже существующая у Вас папка VPS:)
Это папка, в которую помещаются имена отправленных на обработку программой файлов.

В Вашем случае особых сравнений в пакетной cmd-файле вести и не надо. Цикл проходит только по файлам указанных Вами масок в наборе команды - FOR переменная IN (маска1;маска2;...) DO команды. А в качестве команд всего лишь проверка наличия файла (его имя уже в переменной) в папке "В" и, если файла в папке нет - копируем на обработку и дублируем файл в папку "В" (либо создаем файл-пустышку как в моем примере).

Вот, код test.cmd (в коде больше комментариев, чем самого кода):

@Echo OFF
::: В данную переменную заносим путь основного копирования (каталог Б, для обработки)
set DEST_B=c:\test_B
::: Заносим путь дублирующего копирования - архив имен файлов за текущий день, для дальнейших проверок при отлавливании дублей.
::: В начале дня этот каталог надо чистить, например, командой: DEL c:\test_DAY\*.7kz
set DEST_ARCNAMES=c:\test_DAY

::: Переходим в каталог А
c:
CD \test_A

:: Вывод списка всех 7kz-файлов - для отладки
Echo --- List folder A :
dir /w /b DEST_ARCNAMES *.7kz & Echo. & Pause & Echo.

::: В FOR в скобках IN перечисляем через ";" свои шаблоны поиска копируемых файлов
:: переменная %%I - полный путь и имя текущего файла 
:: переменная %%~nI%%~xI -- только имя с расширением текущего файла 
FOR /R %%I IN (a4???200.7kz;j4???200.7kz) DO (
	Echo Searching in %DEST_ARCNAMES% file - %%~nI%%~xI ...
	IF EXIST %DEST_ARCNAMES%\%%~nI%%~xI ( 
		:: сообщаем о нахождении дубля
		Echo -!- This is double. Don't copy.
	) ELSE (
		:: копируем текущий файла для обработки
		<nul set /p strTemp=--step1-- Need copying to %DEST_B%... _
		copy %%I %DEST_B%\*.* 
		
		:: копируем текущий файла в накопительный каталог
		<nul set /p strTemp=--step2-- Duplication in %DEST_ARCNAMES%... _
		:::::copy %%I %DEST_ARCNAMES%\*.* 
		:: или вместо копирования - создаем пустой файл (дешево и сердито, зато время создания файла = времени отправки файла на обработку)
		Echo. 2> %DEST_ARCNAMES%\%%~nI%%~xI
	)
)
Pause
exit

Для тестирования: создал папки c:\test_А, c:\test_B, c:\test_DAY, в c:\test_А создал несколько файлов с "нужными" и "ненужными" именами, скопировал один из нужных файлов в c:\test_DAY (для теста дубля) и запустил батник на выполнение. Вот, его вывод:

--- List folder A :
A4asd200.7kz
A4qwe200.7kz
B4qwe200.7kz
J4qwe200.7kz
J4qwe201.7kz

Для продолжения нажмите любую клавишу . . .

Searching in c:\test_DAY file - A4asd200.7kz ...
-!- This is double. Don't copy.

Searching in c:\test_DAY file - A4qwe200.7kz ...
--step1-- Need copying to c:\test_B... _Скопировано файлов:         1.
--step2-- Duplication in c:\test_DAY... _Системе не удается найти указанный диск.

Searching in c:\test_DAY file - J4qwe200.7kz ...
--step1-- Need copying to c:\test_B... _Скопировано файлов:         1.
--step2-- Duplication in c:\test_DAY... _Системе не удается найти указанный диск.

Для продолжения нажмите любую клавишу . . .

Сообщение "Системе не удается найти указанный диск." игнорируем, это побочный эффект создания "пустышки".
Т.к. этот батник - это не законченный продукт как предлагаемый Вам выше скрипт, поэтому он подразумевает Ваши ручные действия - очистка утром папки "В" и циклический запуск вручную или планировщиком.
Если его запускать автоматически - нужно закомментарить все паузы, да в принципе и команды вывода сообщений - тоже (либо перенаправлять их в некий файл-протокол), например, так:
код test2.cmd избавленный от пауз и комментариев

@Echo OFF
::: В данную переменную заносим путь основного копирования (каталог Б, для обработки)
set DEST_B=c:\test_B
::: Заносим путь дублирующего копирования - архив имен файлов за текущий день, для дальнейших проверок при отлавливании дублей.
::: В начале дня этот каталог надо чистить, например, командой: DEL c:\test_DAY\*.7kz
set DEST_ARCNAMES=c:\test_DAY
::: Переходим в каталог А
c:
CD \test_A

Echo ----- >> log.txt
time /t >> log.txt

FOR /R %%I IN (a4???200.7kz;j4???200.7kz) DO (
	Echo Searching in %DEST_ARCNAMES% file - %%~nI%%~xI ...  >> log.txt
	IF EXIST %DEST_ARCNAMES%\%%~nI%%~xI ( 
		Echo -!- This is double. Don't copy.  >> log.txt
	) ELSE (
		:: копируем текущий файла для обработки
		Echo Copying to %DEST_B%...  >> log.txt
		copy %%I %DEST_B%\*.*        >> log.txt
		:: создаем пустой файл с именем текущий файла в накопительном каталоге
		Echo Duplication in %DEST_ARCNAMES%...   >> log.txt
		Echo. 2> %DEST_ARCNAMES%\%%~nI%%~xI 
	)
)

В каталоге А ведется текст.файл протокола сканирования - log.txt

WBR. Roman

14 (изменено: xsanekk, 2011-11-30 10:17:06)

Re: WSH: Копирование с ведением лога скопированных файлов

Спасибо Rom5 и alexii оба скирипта работают! Я с bat разобрался а мой помощник с wsh

Rom5 пишет:

В каталоге А ведется текст.файл протокола сканирования - log.txt

А как сделать так что бы лог был в вот здесь DEST_ARCNAMES=c:\test_DAY ну тоесть в любом месте кроме папки А и Б, можно и вот сюда его поместить c:\test_DAY

15

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk пишет:

Спасибо Rom5 и alexii оба скирипта работают! Я с bat разобрался а мой помощник с wsh

Rom5 пишет:

В каталоге А ведется текст.файл протокола сканирования - log.txt

А как сделать так что бы лог был в вот здесь DEST_ARCNAMES=c:\test_DAY ну тоесть в любом месте кроме папки А и Б, можно и вот сюда его поместить c:\test_DAY

Если нужно вести лог в каком-то особом месте, то можно заранее определить переменную с полным путем и именем файла. Например,
вариант размещения файла в каталоге архива имен объявленого выше:
   set LOGNAME=%DEST_ARCNAMES%\_log_.txt
или вариант, когда в имя файла протокола вставлена текущая дата:
   set LOGNAME=%DEST_ARCNAMES%\_log_%DATE: =0%.txt
вариант непосредственного указания пути и имени
   set LOGNAME=C:\MyLogs\_log_copy.txt

В командах перенаправления вывода ">> log.txt" внести изменение на ">> %LOGNAME%"

Вот, пример (test_3.cmd)


@Echo OFF
::: В данную переменную заносим путь основного копирования (каталог Б, для обработки)
set DEST_B=c:\test_B
::: Заносим путь дублирующего копирования - архив имен файлов за текущий день, для дальнейших проверок при отлавливании дублей.
::: В начале дня этот каталог надо чистить, например, командой: DEL c:\test_DAY\*.7kz
set DEST_ARCNAMES=c:\test_DAY
::: Определение имени файла протокола в каталоге имен
set LOGNAME=%DEST_ARCNAMES%\_log_%DATE: =0%.txt
::: Переходим в каталог А
c:
CD \test_A

Echo ----- >> %LOGNAME%
time /t >> %LOGNAME%

FOR /R %%I IN (a4???200.7kz;j4???200.7kz) DO (
	Echo Searching in %DEST_ARCNAMES% file - %%~nI%%~xI ...  >> %LOGNAME%
	IF EXIST %DEST_ARCNAMES%\%%~nI%%~xI ( 
		Echo -!- This is double. Don't copy.  >> %LOGNAME%
	) ELSE (
		:: копируем текущий файла для обработки
		Echo Copying to %DEST_B%...  >> %LOGNAME%
		copy %%I %DEST_B%\*.*        >> %LOGNAME%
		:: создаем пустой файл с именем текущий файла в накопительном каталоге
		Echo Duplication in %DEST_ARCNAMES%...   >> %LOGNAME%
		Echo. 2> %DEST_ARCNAMES%\%%~nI%%~xI 
	)
)
WBR. Roman

16

Re: WSH: Копирование с ведением лога скопированных файлов

Спасибо все работает!!!

17

Re: WSH: Копирование с ведением лога скопированных файлов

Ааа ребята забыл спросить, а как зациклить данный скрипт? Ну что бы он непрерывно запускался там скажем каждые 5 минут))

18

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk, уточните, какой именно скрипт, ссылкой.

19 (изменено: xsanekk, 2011-12-01 16:27:58)

Re: WSH: Копирование с ведением лога скопированных файлов

Тот который BAT, заранее благодарен вы все мне очень помогли!

20

Re: WSH: Копирование с ведением лога скопированных файлов

xsanekk пишет:

Тот который BAT,

Не я один читать не умею :

уточните, какой именно скрипт, ссылкой

… на пост, его содержащий, ибо лично я насчитал их три штуки.

21 (изменено: xsanekk, 2011-12-01 18:57:52)

Re: WSH: Копирование с ведением лога скопированных файлов

Ой блииинн я чет туплю) пожалуйста вот этот скрипт)))

@Echo OFF
::: В данную переменную заносим путь основного копирования (каталог Б, для обработки)
set DEST_B=c:\test_B
::: Заносим путь дублирующего копирования - архив имен файлов за текущий день, для дальнейших проверок при отлавливании дублей.
::: В начале дня этот каталог надо чистить, например, командой: DEL c:\test_DAY\*.7kz
set DEST_ARCNAMES=c:\test_DAY
::: Определение имени файла протокола в каталоге имен
set LOGNAME=%DEST_ARCNAMES%\_log_%DATE: =0%.txt
::: Переходим в каталог А
c:
CD \test_A
 
Echo ----- >> %LOGNAME%
time /t >> %LOGNAME%
 
FOR /R %%I IN (a4???200.7kz;j4???200.7kz) DO (
    Echo Searching in %DEST_ARCNAMES% file - %%~nI%%~xI ...  >> %LOGNAME%
    IF EXIST %DEST_ARCNAMES%\%%~nI%%~xI ( 
        Echo -!- This is double. Don't copy.  >> %LOGNAME%
    ) ELSE (
        :: копируем текущий файла для обработки
        Echo Copying to %DEST_B%...  >> %LOGNAME%
        copy %%I %DEST_B%\*.*        >> %LOGNAME%
        :: создаем пустой файл с именем текущий файла в накопительном каталоге
        Echo Duplication in %DEST_ARCNAMES%...   >> %LOGNAME%
        Echo. 2> %DEST_ARCNAMES%\%%~nI%%~xI 
    )
)

И почему то теперь перестало выводится что происходит, ну копирование или дубль((

22

Re: WSH: Копирование с ведением лога скопированных файлов

Указанный VBS-скрипт (из поста #7) один раз запустили и более не выключаете, в его описании указано, что он сам циклически через 5 сек делает проверки, а в 9 утра начинает "новый отсчет".

Пакетный CMD-файл команд (из поста #15) намного проще - было ведь написано, что он требует Вашей автоматизации запуска, например, в планировщике задач создаете новое задание - запуск приложения, например, с 9-30 по 18-00 через каждые полчаса.
Вы же так и не рассказали - как реализована цикличность обработки файлов Вашей программой? Может к ее вызовам можно как-то подключить и предварительный вызов батника копирования.

А не выводит сообщения на экран, т.к. как раз для автоматического использования и задуман - когда на экран смотреть не нужно, а лишь при необходимости проверять содержимое файла протокола, реализация - весь вывод перенаправляется в файл завершением соответствующих командных строк выражением ">> ....".

Успехов!

WBR. Roman

23

Re: WSH: Копирование с ведением лога скопированных файлов

все понятно! еще раз спасибо за помощь! реально выручили!