1

Тема: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

Уважаемые коллеги. Подскажите в чем причина ошибки при работе скрипта.
Задача: скопировать из одного места в другое все папки с файлами не старше чем i дней относительно текущей даты.
Был написан скрипт, который хорошо коприует 1 и 2 папки. На третьей папке возникает ошибка 70.
Вот код скрипта:

On Error Resume Next
dim src, dst, fs, fol, subfol, f1, cur_date, pre_date, fol_name, f, copy, ok, i

'katalog s dannymi
src = "D:\Папка\"
dst = "D:\"

set fs = CreateObject("Scripting.FileSystemObject")
set fol = fs.GetFolder(src)
set subfol = fol.SubFolders

i=20
For Each f1 In subfol

    cur_date = f1.DateCreated
    pre_date = date()-i

    if cur_date > pre_date Then              
    
        fol_name = f1.name    
                fs.CopyFolder src & fol_name, dst

            WScript.Echo err.number 'Здесь выскакивает ошибка на третьей папке

        if (err.number <> 0) Then
                ErrorCopy    
            WScript.Quit

        End If
        set ok = fs.CreatetextFile(dst & "ok", True)
    
    End If 
Next 

Sub ErrorCopy

 set ok = fs.CreatetextFile("error_copy", True)

End Sub

Спасибо.

2

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

атрибуты поменяйте у приемных файлов, снимите только чтение и системный
+
fs.CopyFolder src & fol_name, dst, true

Я конечно далек от мысли... (с)

3 (изменено: scripsils, 2010-12-02 13:21:40)

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

CopyFolder - по умолчанию используется overwrite=true.
"приемные файлы" - это какие? Атрибуты проверил. Везде не архивный, не системный, не только чтение. Ошибка вознкает опять.
Ошибка возникает и при копировании в пустую папку.

4

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

70 это отклонение разрешения
+ и заключите в кавычки если спецсимволы в именах папок
и могут быть файлы с "плохими" именами

Я конечно далек от мысли... (с)

5

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

имена папок по-русски, без пробелов или цифрами разницы нет. В некоторых папках файлов нет.
Тестировалось на нескольких компах. Везде при копировании третьей папки ошибка 70

6

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

Вообще-то, ошибка возникает не на копировании папки, а на записи файла:

set ok = fs.CreatetextFile(dst & "ok", True)

Файл-то закрывать надо.

ok.close

7

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

Спасибо. Помогло.

8

Re: VBS: Скрипт выдает ошибку 70 на копируемой третьей папке

каюсь проглядел

Я конечно далек от мысли... (с)