2012-05-09 4 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

Смежные вопросы