希望拥有一个可以将文件夹及其内容复制到活动usb驱动器的vbscript。因此,脚本需要找到放入其中的活动usb驱动器。接下来,将文件夹及其竞争复制到usb驱动器。然后在复制工作完成后,它需要告诉它已经完成了。这就是我目前所能得到的。
Const OverWriteFiles = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:Test" , "?:Test" , OverWriteFiles 'the "?:Test" is the part set the usb drive at.
Wscript.Echo "I am Done."
所以,我真正需要帮助的部分是找出活动的usb驱动器号。下一步是复制到usb驱动器号。我知道这不是很多代码。但是,任何信息都会有很大的帮助。
此示例显示每个驱动器的类型:
Set oFSO = CreateObject("Scripting.FileSystemObject")
sRes = ""
For Each oDrive In oFSO.Drives
sRes = sRes & "DriveLetter: " & oDrive.DriveLetter & ", DriveType: "
Select Case oDrive.DriveType
Case 0
sRes = sRes & "Unknown"
Case 1
sRes = sRes & "Removable"
Case 2
sRes = sRes & "HDD"
Case 3
sRes = sRes & "Network Drive"
Case 4
sRes = sRes & "CD-ROM"
Case 5
sRes = sRes & "RAM-Drive"
End Select
sRes = sRes & vbNewLine
Next
MsgBox sRes
你的脚本应该是这样的:
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDrive In objFSO.Drives
If objDrive.DriveType = 1 Then
objFSO.CopyFolder "C:Test" , objDrive.DriveLetter & ":Test" , True
MsgBox "Copy to " & objDrive.DriveLetter & " Completed"
End If
Next
UPD:最后一个驱动器可以这样找到:
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDrive In objFSO.Drives
Set objLastDrive = objDrive
Next
MsgBox objLastDrive.DriveLetter
嗯,可能有多个"活动"USB驱动器。没有什么能阻止我将闪存驱动器插入电脑上的每个可用USB端口。但以下是如何识别计算机上的USB驱动器(也称为"可移动驱动器"),并使用CopyFolder()
功能将文件夹复制到其中。
Const TYPE_REMOVABLE = 1
With CreateObject("Scripting.FileSystemObject")
For Each Drive In .Drives
If Drive.DriveType = TYPE_REMOVABLE Then
.CopyFolder "C:Test", Drive.DriveLetter & ":Test", True
End If
Next
End With