- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用vbs脚本定时删除N天前的文件由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
脚本放在定时任务里代替服务定时执行一些操作比较方便,下面是实现删除文件夹下N天前创建的文件的vbs脚本,在配置文件 DelFolderList.txt 中配置要删除的文件路径,ONLY-DEL-FILES 下的路径 是只删除其下的文件,不删除其内的子目录的文件。DEL-FOLDER-FILES下的路径 是删除其内文件及其子目录内的文件,子目录为空时删除目录,删除的文件list 放在log文件夹内。例配置文件DelFolder.txt 内容如下:
ONLY-DEL-FILES E:\Code\test DEL-FOLDER-FILES E:\Code\subfolder 。
脚本内容:
。
Option Explicit dim mFSO '定义文件系统对象 dim wFSO '定义文件系统对象 DIM filecount '文件计数 dim foldercount '文件夹计数 。
。
dim fstream '定义读文件流对象 dim wstream '定义写文件流对象 。
dim folder '文件夹对象 dim rootfolder '文件夹对象 dim file '文件对象 dim Subdirs '文件夹集合对象 dim subdir '文件夹对象 dim LoopFolder '文件夹对象 dim dopath '路径字符串 。
Dim delFlag delFlag =0 ' 0: 不删除子目录 ,1:删除子目录 。
DIM WSH SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")'击活WScript.Shell对象 main() 。
sub main() dim filename filecount = 0 foldercount = 0 Set mFSO = CreateObject("Scripting.FileSystemObject") Set wFSO = CreateObject("Scripting.FileSystemObject") Set fstream = mFSO.OpenTextFile("DelFolderList.txt", 1) filename=Cstr(Date) filename=filename + "_" + Replace(Cstr(Time),":","_") Set wstream = wFSO.CreateTextFile("log\" & filename & ".log", TRUE) '循环读取一行filelist.txt中的内容 Do While True <> fstream.AtEndOfStream dopath = fstream.ReadLine If dopath = "ONLY-DEL-FILES" Then delFlag =0 If True <> fstream.AtEndOfStream Then dopath = fstream.ReadLine End If End If If dopath = "DEL-FOLDER-FILES" Then delFlag =1 If True <> fstream.AtEndOfStream Then dopath = fstream.ReadLine End if End If if mFSO.FolderExists(dopath) Then If 1 = delFlag Then ' 删除子目录 。
set rootfolder=mFSO.GetFolder(dopath) wstream.WriteLine(rootfolder.path & " 下删除了以下文件:") del_file_subFolder rootfolder wstream.WriteLine(rootfolder.path & " 下删除了以下文件夹:") del_folderFunc rootfolder 'del_folderFunc rootfolder wstream.WriteBlankLines(1) Else '只删除文件 set rootfolder=mFSO.GetFolder(dopath) wstream.WriteLine(rootfolder.path & " 下删除了以下文件:") del_file rootfolder wstream.WriteBlankLines(1) End If else WSH.POPUP("文件夹“" & dopath &"”不存在或路径错误") wstream.WriteLine("文件夹“" & dopath &"”不存在或路径错误") end if Loop fstream.Close 。
'WSH.POPUP("共删除文件" & filecount & "个、文件夹" & foldercount & "个") end sub 。
sub del_file(folder) dim df '标记 For Each file In folder.files df=DateDiff("d",file.DateCreated,Now) If (df>1) Then '1天前的文件 wstream.WriteLine(folder.path & "\" & file.Name & vbTab & file.DateCreated) file.Delete() filecount=filecount+1 End If Next end Sub 。
''删除文件 同时删除subfolder sub del_file_subFolder(folder) dim df '标记 For Each file In folder.files df=DateDiff("d",file.DateCreated,Now) If (df>1) Then wstream.WriteLine(folder.path & "\" & file.Name & vbTab & file.DateCreated) file.Delete() filecount=filecount+1 End If Next '递归调用del_file函数,实现子目录文件的遍历删除 If (0 < Folder.SubFolders.Count ) then For Each loopfolder in folder.SubFolders del_file_subFolder loopfolder Next End If end sub 。
sub del_folderFunc(folder) dim loopsub dim tmp if 0=folder.subfolders.Count Then '判断其下是否还有子文件夹,若无 if 0=folder.files.Count then '如果其下还有文件则退出(符合条件的文件上一步已删掉了) if Ucase(folder.path)<>Ucase(dopath) then '判断是否为根目录,是则退出,不是则删除 wstream.WriteLine(folder.path & vbTab & folder.DateCreated) folder.delete foldercount=foldercount+1 '' del_folderFunc(mFSO.GetFolder(delFolderPath)) '删除该文件夹后从根目录重新检查,以检查其父目录是否该删除 end if End if else For Each subdir In folder.subfolders '还有子文件夹则轮循每一个子文件夹 del_folderFunc(subdir) Next End if 。
end sub 。
。
最后此篇关于使用vbs脚本定时删除N天前的文件的文章就讲到这里了,如果你想了解更多关于使用vbs脚本定时删除N天前的文件的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我使用 IBM Personal Communications 12.0.3.0 的宏记录器制作了一个凭据输入宏。它只是在调用时输入我的用户名和密码。 sub Credentials() Dim
该批处理更改了 vbs 代码,使其无法供 vbs 使用。我该如何解决这个问题? 批号: echo Const HIGH = 128 >> prio.vbs echo strComputer = "."
我有 2 个 vbs 文件。 A.vbs: Class test public a public b End Class B.vbs: Dim objShell Set objShell =
以下是我用来尝试在 IIS 6 中创建虚拟目录的条目: [Run] Filename: {tmp}\cscript.exe mkvirtdir.vbs; Parameters: "-c LocalHo
核心vbs代码 ? 1
对于vbs中ping的实现可以通过两种方式 : 1、调用系统ping命令; 2、使用wmi查询pingstate类处理。 1、调用系统ping命令
在看vb开发,看到二维数组时突发奇想用二维数组作为游戏关卡; 1. 选择操作: 游戏开始时会提示选择注册, 登录, 退出三种选项, 2.注册: 注册成功会将用户账户与密码存入用户数据txt文档中
复制指定文件到指定目录下 核心代码 ? 1
复制代码 代码如下: On Error Resume Next Dim WshShell, QQPath, QQselect set wshshell=createobject("
运行前请确定你的电脑安装了word。 复制代码 代码如下: i=0 set wshshell=createobject("wscript.shell") Set objWo
参考代码一: 复制代码 代码如下: Function DeleteLog( ) Dim objFSO, objFolder, strPath,
挺实用的一段代码,用来深入学习vbs,确实不错咯。 复制代码 代码如下: On Error Resume Next '忽略所有错误 Dim filename '声明变量 Di
话说还是闲来练手,初步实现了自己认为的“多线程”下载。(至于是不是多线程,可以参考12楼链接) 为避免冗余,省了一些错误检查。我觉得没多大实际用途,有兴趣的兄弟一起学习讨论呗。欢迎大家指正: 复制
复制代码 代码如下: set oDOM = WScript.GetObject("http://ipseeker.cn//") flag=0 for i=1 to 10 &n
复制代码 代码如下: on error resume next url = " http://www.bathome.net/logging.php?action=login"
效果图: 代码都封装成函数了,方便调用: 复制代码 代码如下: Key = "www-enun-net" '不要用数字
打开狗狗影视,搜索自己需要的资源,资源类型选:电驴,如下图: 我找到一个 19.75gb 的: 点开它,出现如下图的界面,可以看到正常下载地址已被屏蔽。我们复制地址栏中的网址,备用。
最近相关的备份比较频繁,为了校验文件的完整性,老是要打开某文件HASH校验工具,比较麻烦,于是乎写了这个东东,文件较大时计算有点慢,文件的MD5值保存在剪贴板!效果如图: 使用方法: 1.先
CMD当前路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetF
For Next 语句的基本结构为: 复制代码 代码如下: For counter = start To end [Step step] [statements] [Exit For] [st
我是一名优秀的程序员,十分优秀!