2012-05-09 53 views
1

我有這個腳本,但想擴大它來檢查一個文件列表,也存在映射驅動器R:和映射如果不存在。VBS檢查文件列表

FileA.txt FileB.txt FileD.txt
FileE.txt FileF.dll FileG.dll

Const OverwriteExisting = TRUE 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

Set objLocalFile = objFSO.GetFile("C:\SCRIPT\SCRIPTTEXT.txt") 
dtmLocalDate = objLocalFile.DateLastModified 

Set objServerFile = objFSO.GetFile("R:\SCRIPT\SCRIPTTEXT.txt") 
dtmServerDate = objServerFile.DateLastModified 

If dtmLocalDate < dtmServerDate Then 
    objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting 
End If 

如果不與錯誤開車不存在該片段不起作用「這網絡連接不存在「,但可以重新映射。

> Set WSHNetwork = CreateObject("WScript.Network") 
> 
> WSHNetwork.RemoveNetworkDrive "R:","True","True" 
> 
> WSHNetwork.MapNetworkDrive "R:", "\\192.168.1.103\","True" 
+0

必須解決在VBScript中做比較呢?看起來,使用BATCH文件解決這個問題要容易得多。 –

回答

1

不映射,直接與URL

on error resume next 
path = "\\192.168.1.103\SCRIPT\SCRIPTTEXT.txt" 
if objFSO.fileExist(path) 
    Set objServerFile = objFSO.GetFile(path) 
    dtmServerDate = objServerFile.DateLastModified 
    if dtmLocalDate < dtmServerDate Then 
    objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting 
    end if 
else 
    objFSO.CopyFile objServerFile.Path, objLocalFile.Path 
end if 
+0

感謝您如何通過FileA.txt,FileB.txt FileD.txt,FileE.txt,FileF.dll,FileG.dll .dll s不在同一個文件夾 – icecurtain

+0

看到我的另一個答案刪除文件夾中的空文件,使用相同的技術http://stackoverflow.com/questions/10450639/how-can-i-make-script-for-recursive-downloading-all-empty-files – peter