2017-03-01 5 views
0

안녕하십니까, 저는 프로그래밍 코드 초보자입니다. 그래서 내가 잘못하면 죄송합니다. 폴더에서 다른 파일로 백업하기 위해 VBS에 코드를 작성했습니다. 내 문제는 두 폴더의 파일 날짜를 비교하고 파일이 새 파일이거나 날짜가 변경된 경우에만 복사본을 허용하는 것입니다. 내 코드는 누군가 제발 문제를 찾는데 도와 줄 수 있습니까? 시도했지만 작동하지 않습니다.날짜 비교 및 ​​새 파일 만 복사

' Copy a Folder 


'Const OverWriteFiles = False 
Dim strSourceFolder, strDestFolder 
strSourceFolder = "E:\test1" 
strDestFolder = "C:\test1" 


Set objFSO = CreateObject("Scripting.FileSystemObject") 
objFSO.CopyFolder "strSourceFolder" , "strDestFolder" 

For each file in StrSourceFolder 
    ReplaceIfNewer ("file, strDestFolder") 
Next 

Sub ReplaceIfNewer (SourceFile, DestFolder) 

    Dim DateModifiedSourceFile, DateModifiedDestFile 
    DateModifiedSourceFile = SourceFile.DateModified() 
    DateModifiedDestFile = DestFolder & "\" & SourceFile.DateModified() 

    If DateModifiedSourceFile < DateModifiedDestFile then 
     Copy SourceFile to SourceFolder Else 
     End If 


' Verify that a Folder Exists 


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

If objFSO.FolderExists("strDestFolder") Then 
MsgBox "Backup Copy Done." & vbCrLf & (Day(Now) & "\" & Month(Now) & "\" & Year(Now)) , Vbinformation 
    Set objFolder = objFSO.GetFolder("strDestFolder") 
Else 


MsgBox "Folder does not exist." , vbCritical , "Folder does not exist." 



End if 

감사합니다.

+0

당신은 [있는 Robocopy] (https://technet.microsoft.com/en-us/library/cc733145%28v=ws.11%29.aspx?f=255&MSPPError=에 관심이있을 수 있습니다 -2147217396) –

답변

0

.DateModified는 VBScript가 아닙니다. here 읽기 시작하십시오. DateDiff이 있지만 날짜가 복식이므로 복식은 < 일 것입니다. 코드에서 :

>> Set f = CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName) 
>> dlm = f.DateLastModified 
>> WScript.Echo TypeName(dlm), dlm, "(german locale)" 
>> dlmn = DateAdd("s", 2, dlm) 
>> WScript.Echo TypeName(dlmn), dlmn, "(german locale)" 
>> WScript.Echo DateDiff("s", dlmn, dlm), DateDiff("s", dlm, dlmn), CStr(dlm < dlmn) 
>> WScript.Echo CDbl(dlm) 
>> WScript.Echo CDbl(dlmn) 
>> 
Date 22.11.2013 13:09:53 (german locale) 
Date 22.11.2013 13:09:55 (german locale) 
-2 2 Wahr 
41600,5485300926 
41600,5485532407