Ошибка при копировании файлов в VBS - PullRequest
0 голосов
/ 23 июня 2011
Sub Copy_Files_Dates()
'This example copy all files between certain dates from FromPath to ToPath.
'You can also use this to copy the files from the last ? days
'If Fdate >= Date - 30 Then
'Note: If the files in ToPath already exist it will overwrite
'existing files in this folder
    Dim FSO As Object
    Dim FromPath As String
    Dim ToPath As String
    Dim Fdate As Date
    Dim FileInFromFolder As Object

    FromPath = "C:\Users\Ron\Data"  '<< Change
    ToPath = "C:\Users\Ron\Test"    '<< Change

    If Right(FromPath, 1) <> "\" Then
        FromPath = FromPath & "\"
    End If

    If Right(ToPath, 1) <> "\" Then
        ToPath = ToPath & "\"
    End If

    Set FSO = CreateObject("scripting.filesystemobject")

    If FSO.FolderExists(FromPath) = False Then
        MsgBox FromPath & " doesn't exist"
        Exit Sub
    End If

    If FSO.FolderExists(ToPath) = False Then
        MsgBox ToPath & " doesn't exist"
        Exit Sub
    End If

    For Each FileInFromFolder In FSO.getfolder(FromPath).Files
        Fdate = Int(FileInFromFolder.DateLastModified)
        'Copy files from 1-Oct-2006 to 1-Nov-2006
        If Fdate >= DateSerial(2006, 10, 1) And Fdate <= DateSerial(2006, 11, 1) Then
            FileInFromFolder.Copy ToPath
        End If
    Next FileInFromFolder

    MsgBox "You can find the files from " & FromPath & " in " & ToPath

End Sub

Я получаю ошибку

line 1
char 9
error expected end of statement
code 800A0401

1 Ответ

0 голосов
/ 23 июня 2011

Изменить Dim name As Something на Dim name:

Dim FSO As Object
    Dim FromPath
    Dim ToPath
    Dim Fdate
    Dim FileInFromFolder

    ' *snip*

И Next FileInFromFolder до Next.

For Each FileInFromFolder In FSO.getfolder(FromPath).Files
    Fdate = Int(FileInFromFolder.DateLastModified)
    'Copy files from 1-Oct-2006 to 1-Nov-2006
    If Fdate >= DateSerial(2006, 10, 1) And Fdate <= DateSerial(2006, 11, 1) Then
        FileInFromFolder.Copy ToPath
    End If
Next

Это похоже на фрагмент VB6, который вы пытались использовать в качестве VBS. Есть некоторые тонкие различия между VB6 и VBS, которые вам следует остерегаться.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...