找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14872|回复: 3

[问题求助] 以下VBS代码如何改为拷贝7天内的文件?

[复制链接]
发表于 2013-9-13 12:35:17 | 显示全部楼层 |阅读模式
  1. Function FilesTree(sPath)     
  2.     Set oFso = CreateObject("Scripting.FileSystemObject")   
  3.     Set oFolder = oFso.GetFolder(sPath)   
  4.     mpath="d:\22"     '这里设置你要拷进去的文件夹路径      
  5.     Set oFiles = oFolder.Files   
  6.     For Each oFile In oFiles   
  7.      If FormatDateTime(ofile.DateCreated,1)=FormatDateTime(Date,1) Then
  8.      ofso.CopyFile ofile.Path,mpath
  9.      End if
  10.     Next      
  11.     Set oFolder = Nothing  
  12.        Set oFso = Nothing  
  13. End Function  
  14. FilesTree("d:\11")  '这里设置原本的文件夹路径...
复制代码
发表于 2013-9-13 15:49:25 | 显示全部楼层
本帖最后由 batman 于 2013-9-13 15:55 编辑

  1. '代码暂没有考虑多级目录备份的情况
  2. Dim objFSO, MyPath, BackPath, File, MinDay
  3. MyPath = "要执行备份的目录路径"
  4. BackPath = "备份目录路径,最后的\必须加上"
  5. MinDay = DateAdd("d", -7, Now)
  6. Set objFSO = CreateObject("Scripting.FileSystemObject")
  7. '如果是在当前目录下执行备份可用以下代码获取MyPath
  8. 'MyPath = objFSO.GetFile(WScript.ScriptFullName).ParentFolder
  9. For Each File In objFSO.GetFolder(MyPath).Files
  10.   If File.DateCreated >= MinDay Then _
  11.     objFSO.CopyFile File, BackPath, True
  12. Next
  13. Set objFSO = Nothing
复制代码

评分

参与人数 1技术 +1 收起 理由
ww0000 + 1 谢谢

查看全部评分

 楼主| 发表于 2013-9-13 16:34:58 | 显示全部楼层
回复 2# batman


   谢谢,能用,要是能考虑多级目录就更好了!
发表于 2013-9-13 18:44:08 | 显示全部楼层
回复 3# ww0000


    考虑多级目录就要考虑文件重名的情况。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 15:08 , Processed in 0.019419 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表