这是我之前的问题(复制更新创建 VBScript和文件夹副本)的后续。到目前为止,我有以下脚本来使用xcopy复制文件:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshShell = WScript.CreateObject("WScript.Shell")
strUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")
' Discover Current Drive Path
curDrv = objFSO.GetParentFolderName(WScript.ScriptFullName) 'Drive Path
' USB Drive and folder Path
upath = curdrv & "\ACG"
' Source
avg8 = "c:\Docume~1\alluse~1\applic~1\avg8\update\download\*.*"
avg9 = "c:\Docume~1\alluse~1\applic~1\avg9\update\download\*.*"
If struserName = DARIO Then
'(1) GOTO Update
End If
If Not objFSO.FolderExists (upath) Then
objFSO.CreateFolder (upath)
End If
If objFSO.FolderExists (avg9) Then
'WshShell.Run "xcopy c:\Docume~1\alluse~1\applic~1\avg9\update\download\*.* usbdrive:\acg /D", , True
'(2) WshShell.Run "xcopy avg9 upath /D", , True
WshShell.Run "xcopy " & avg9 & " " & upath & " /D", , True
End If
If objFSO.FolderExists (avg8) Then
'WshShell.Run "xcopy c:\Docume~1\alluse~1\applic~1\avg8\update\download\*.* & usbdrive:\acg & /D", , True
'(3) WshShell.Run "xcopy avg8 upath /D", , True
WshShell.Run "xcopy " & avg8 & " " & upath & " /D", , True
End if
MsgBox "Definition Files Copied to your USB Drive @ " & upath, vbInformation, "Copy Success..."
WScript.Quit
' Update
If Not objFSO.FolderExists("C:\Updates") Then
objFSO.CreateFolder "C:\Updates"
End If
If objFSO.FolderExists (upath) then
Wshshell.Run "xcopy " & upath & " " & "C:\Updates /D", , True '(4)
MsgBox "Update Files Copied to C:\Updates" , vbInformation, "Copy Destination"
End IF
' Process
Message = "Click OK to Start Updating product." & vbCr & vbCr
Message = Message & "Click Cancel or (Esc) to Exit." &vbCr & vbCr
Message = Message & "Keep Selecting OK until you get" & vbCr
Message = Message & "the Message :-" & vbCr & vbCr
Message = Message & "''No New Update Files Available''" & vbCR & vbCR
X = MsgBox(Message, vbOKCancel, "AVG Update Module")
Select Case X
Case vbCancel
MsgBox (strUserName & " cancelled the process.") , vbCritical, "Operation Terminated."
Wscript.Quit
Case vbOK
If objFSO.FileExists("C:\Program Files\AVG\AVG89\avgupd.exe") Then
WshShell.Run "C:\Program Files\AVG\AVG9\avgupd.exe" /source=folder /path="C:\Updates"
End If
If objFSO.FileExists("C:\Program Files\AVG\AVG8\avgupd.exe") Then
WshShell.Run "C:\Program Files\AVG\AVG8\avgupd.exe" /source=folder /path="C:\Updates"
'(5) Loop to Process
End If
End Select
不幸的是,xcopy 没有发生。有人可以解释一下脚本有什么问题并指出我正确的方向来实现点 (1) - (5) 吗?谢谢。