下是备份的批处理,添加到"计划任务"中,设定时间自动运行 以下是删除N天前备份文件的批处理,注:在windows下,如XP下因为没有forfiles.exe,未测试拷贝的文件到XP的system目录 删除在C盘backup目录下最后修改日期在天前的文件 ================================================================================= forfiles /p "c:backup" /d - /c "cmd /c echo deleting @file ... && del /f @path" ================================================================================= 以下是复制某天前文件到其它位置的批处理 要把在C盘根目录下最后修改日期大于或等于年7月1日的文件复制到D盘根目录下 ================================================================================= forfiles /p "c:" /d "-7-1" /c "cmd /c copy @path d:" Windows Server 内置的命令行文件,适合于XP以上系统 示例: forfiles /m *.bkf /d - /c "cmd /c del @file /f" 删除当前目录下天以前的扩展名为bkf文件(以当前系统时间为基准) forfiles 自动删除7天前文件 delete -- : 用forfiles.exe试试。 forfiles /p "d:test" /s /m *.* /d -7 /c "cmd /c del @path" 做成批处理文件,bat文件与forfiles.exe同一目录下,建一个bat文件的快捷方式在启动。 d:test换成你要的目录路径。日期是指修改的日期。 附上forfiles.exe及帮助。 删除所有的空目录(以删除d:test目录下为例) dir /ad/b/s d:test |sort /r >d:kill.txt For /f "tokens=*" %%i in (d:kill.txt) DO rd "%%i" del d:kill.txt 把以下复制到bat文件中。 @echo off forfiles /p "d:test" /s /m *.* /d -7 /c "cmd /c del @path" dir /ad/b/s d:test |sort /r >d:kill.txt For /f "tokens=*" %%i in (d:kill.txt) DO rd "%%i" del d:kill.txt 先删过期文件,再删所有的空目录 如果操作系统是 Windows Server 那就好办了,因为它有一个forfiles命令能够查找满足指定条件的文件,下面是这个命令的用法。 forfiles /p <目标目录名> /d <天数> /c <执行的命令> 看看列出的三个参数都有什么用处: /p 指定了要在哪个目录里查找文件,默认是当前工作目录。 /d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。 /c 对每个找到的文件执行的命令。 例1.要把在C盘根目录下最后修改日期大于或等于年7月1日的文件复制到D盘根目录下: forfiles /p "c:" /d "-7-1" /c "cmd /c copy @path d:" 例2.删除在C盘backup目录下最后修改日期在天前的文件: forfiles /p "c:backup" /d - /c "cmd /c echo deleting @file ... && del /f @path" 先看删除文件的代码 forfiles /p 包含要删除文件的完整路径(如:F:Logfiles) /m *.log -d -7 /c "cmd /c del /f @path" 解释一下相关参数及命令 /p <Path> : 指定开始搜索文件的位置,如果不指定则默认为当前目录。 /m <SearchMask> : 文件查找所使用的通配符如代码中的"*.log"则为所有日志文件,当然也可以指定诸如"manmee_*.log"这样以manmee开头的所有日志文件。如果不指定此参数则默认为"*.*"。 /d [{+|-}][{<Date>|<Days>}] : 指定想选择文件的最后修改时间,上文中用了 "/d -7" 表示所有以当天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:"/d -//"这样所有早于年8月日的文件。注意指定的时间必须是"MM/DD/YYYY"的格式。 /c 对所有文件以此执行指定的命令,命令体须在双引号(")内,默认是"cmd /c echo @file"。上文中用到的是"cmd /c del /f @path"删除指定文件。(这里的@file 和 @path 为变量,下文中将解释。) 下面说一下上文中用到的参数: @PATH : 表示文件的完整的路径。 @File : 表示文件名称。 其他参数的详细介绍点击这里。 接下来我们看看删除文件夹的操作,如果你看了上面的介绍,相信这命令你一看就能看懂。 forfiles /p 包含文件夹的路径(如:F:) /m 文件夹名称(如:LogFiles) -d 0 /c "cmd /c if @ISDIR == true rd /s/q @path" 注意这里的"包含文件夹的路径"不能包含要删除的文件夹,如以上代码所表示的就是,在F盘中查找名为LogFiles的文件或文件夹(不能指定查找文件夹,不过在删除时我们做了判断)。 还有就是这里出现了一个新的参数"@ISDIR"他用于判断当前文件类型是否是"文件夹类型",如果是则为true否则为false。 相信到这大家就明白了,最后再将代码保存为批处理文件,然后加入计划任务定期执行即可。 看了上面的例子,觉得在 Windows Server 下面要删除老文件很简单吧。 但如果操作系统是 Windows /XP 就比较麻烦,因为它们没有forfiles命令,只能靠自己写批处理来实现了。 下面是我写的批处理文件内容: 主要是利用Windows的脚本功能来计算要删除文件的截止日期,然后for加dir命令来提取文件的日期进行判断。 关于forfiles和for的详细信息,可以在Windows的帮助与支持中找到。
推荐整理分享用批处理文件自动备份文件及文件夹,并自动删除n天前的文件(批处理文件自动登录远程桌面),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:批处理文件自动关闭,批处理文件自动关闭命令,批处理文件自动关机,批处理文件自动关闭,批处理文件自动关闭命令,批处理文件自动开关机,批处理文件自动关机,批处理文件自动运行,内容如对您有帮助,希望把文章链接给更多的朋友!
批处理实现的网络巡检脚本(PING与端口扫描) check.bat内容(脚本内容可能会应为排版问题不能直接复制粘帖运行,可自行修改):@echooffremchecklist.csv字段为:IP,名称,描述,TCP应用端口,UDP应用端口remch
用批处理/注销脚本清除 存储用户名和密码 列表的代码 windowsxppro以上的系统,在进行网络共享验证、内部网或代理域验证、runas/savecred等方式存储的windows用户名和密码,可以在控制面板的用户和账户的密码
新入域的计算机枚举,显示加域人员的批处理 文件名:querycomputer.bat功能:查找域内未分组的计算机,并显示计算机名和加域的用户作用:可以实施监视计算机列表,以提醒进行计算机分组,也可