删除指定日期文件的批处理脚本
在Windows系统上自动删除指定大小的文件

在Windows系统上自动删除指定大小的文件在Windows系统上,我们经常需要清理磁盘空间以确保电脑的良好运行。
而其中一个常见的需求就是自动删除指定大小的文件。
本文将介绍如何在Windows系统上使用批处理脚本自动删除指定大小的文件,以帮助我们有效地管理磁盘空间。
一、创建批处理脚本文件要实现自动删除指定大小的文件,我们可以使用Windows系统自带的批处理功能。
按照以下步骤创建一个批处理脚本文件:1. 打开文本编辑器,例如记事本。
2. 在编辑器中输入以下代码:```@echo offsetlocal enabledelayedexpansionset directory=C:\path\to\your\directoryset size=1000000for /r "%directory%" %%f in (*) do (set "file=%%f"set "size=%%~zf"if !size! gtr %size% (echo Deleting file: !file!del "!file!" /f /q))endlocal```请注意将 `C:\path\to\your\directory` 替换为你要清理的文件夹路径,将 `1000000` 替换为你想要删除的文件大小的阈值(以字节为单位)。
3. 将文件保存为批处理脚本文件,例如 `delete_files.bat`。
确保文件扩展名为 `.bat`。
二、运行批处理脚本文件当你运行这个批处理脚本文件时,它将自动删除指定大小的文件。
1. 双击运行 `delete_files.bat` 文件。
2. 批处理脚本将开始执行,遍历指定文件夹及其子文件夹。
对于每个文件,它将检查其大小是否大于指定的阈值。
3. 如果文件大小超过了阈值,脚本将在命令行窗口中显示 "Deleting file: 文件路径" 的消息,并删除文件。
批处理脚本自动清理Windows临时安装文件夹

批处理脚本自动清理Windows临时安装文件夹随着时间的推移和软件的安装卸载,Windows系统中的临时安装文件夹会逐渐积累,占据硬盘空间,影响系统运行速度和稳定性。
为了解决这个问题,我们可以编写一个批处理脚本,自动清理Windows临时安装文件夹,提高系统性能。
步骤一:创建批处理脚本文件首先,我们需要创建一个文本文件,后缀改为.bat,例如"clean_temp.bat"。
然后,将以下代码复制到文本文件中:@echo offecho 正在清理临时文件夹...echo 请稍等...RD /S /Q "%temp%\*"RD /S /Q "%windir%\Temp\*"echo 清理完成!pause步骤二:保存并运行批处理脚本文件保存好批处理脚本文件后,双击运行它。
此时,系统会自动执行脚本中的命令。
步骤三:清理临时安装文件夹批处理脚本会自动清理Windows系统中的两个临时安装文件夹:%temp%和%windir%\Temp。
这两个文件夹是系统默认的临时文件夹,在这里存储着软件安装时产生的临时文件。
使用RD命令,带上参数/S /Q可以删除文件夹及其所有子文件夹和文件,并且不需要用户进行确认。
清理完成后,批处理脚本会显示"清理完成!"的提示信息,并暂停,等待用户按下任意键关闭窗口。
需要注意的是,批处理脚本会将这两个临时文件夹完全清空,所以请确保在执行脚本之前,已保存好需要保留的文件。
步骤四:将批处理脚本设置为定时任务如果希望定期清理临时安装文件夹,我们可以将批处理脚本设置为Windows的定时任务。
1. 打开"任务计划程序",在左侧面板中点击"创建任务"。
2. 在"常规"选项卡中,填写任务的名称和描述。
3. 切换到"触发器"选项卡,点击"新建"创建新的触发器。
用批处理文件删除n天前的文件 DEL

用批处理文件删除n天前的文件DELforfiles /p <目标目录名> /d <天数> /c <执行的命令>看看列出的三个参数都有什么用处:/p 指定了要在哪个目录里查找文件,默认是当前工作目录,注意不能在目录名后面加斜杠。
/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。
/c 对每个找到的文件执行的命令。
例1.要把在C盘根目录下最后修改日期大于或等于2007年7月1日的文件复制到D盘根目录下:forfiles /p "c:" /d "2007-7-1" /c "cmd /c copy @path d:/"例2.删除在C盘backup目录下最后修改日期在10天前的文件:forfiles /p "c:/backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"看了上面的例子,觉得在Windows Server 2003 下面要删除老文件很简单吧。
但如果操作系统是Windows 2000/XP 就比较麻烦,因为它们没有forfiles命令,只能靠自己写批处理来实现了。
下面是我写的批处理文件内容:@echo offrem ******************************rem * 按时间删除文件目录的批处理*rem ******************************rem 设置临时目录的路径set tempDir=%tmp%/remove_%date:~0,10%if not exist %tempDir% md %tempDir%rem 设置处理日期的脚本文件的路径set scriptFile=%tempDir%/get_date.vbsrem 获得要保留的天数set days=%~1if "%days%" == "" goto printUsagerem 获得目标目录的路径set dirPath=%~2if "%dirPath%" == "" set dirPath=.rem 获得要操作的文件形式set fileSpec=%~3if "%fileSpec%" == "" set fileSpec=*.*rem 生成计算日期的脚本文件并获得删除的截止日期echo d=date()-%1 > %scriptFile%echo s=right("0000" ^& year(d),4) ^& "-" ^& right("00" ^& month(d),2) ^& "-" ^& right("00" ^& day(d),2) >> %scriptFile%echo wscript.echo s >> %scriptFile%for /f %%i in ('cscript /nologo %scriptFile%') do set lastDate=%%irem 处理目标目录里的每个对象for /f "tokens=1,2,3* delims=<> " %%i in ('dir "%dirPath%/%fileSpec%" /a /-c /tc') docall :proc "%%i" "%%j" "%%k" "%%l"goto :donerem 处理目标目录里对象的过程:procrem 获得对象的创建日期并判断是否为有效格式set fileDate=%~1echo %fileDate% | findstr "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]" > nulif errorlevel 1 goto endrem 获得对象的类型set fileType=%~3if "%fileType%" == "" goto endrem 获得对象的名称set fileName=%~4if "%fileName%" == "" goto endif "%fileName%" == "." goto endif "%fileName%" == ".." goto endif "%fileName%" == "字节" goto endif "%fileName%" == "可用字节" goto endrem 判断对象日期是否小于或等于删除的截止日期if "%fileDate:~0,10%" leq "%lastDate%" (echo deleting "%fileName%" ...if "%fileType%" == "DIR" ( rd /s /q "%dirPath%/%fileName%" ) else ( del /q /f"%dirPath%/%fileName%" ))goto end:errorecho An error occurred during backuping.:donerd /s /q %tempDir%goto end:printUsageecho Usage: %0 ^<Days^> [Work directory] [Target file specification (can include wildcards)]goto end:end这个批处理的语句很多,我表达能力有限,不一一解释了。
bat批处理之文件与文件夹操作代码(附xcopy命令详解)

本文介绍下,在批处理脚本中,操作文件与文件夹的方法,包括文件的复制、删除、移动等操作,并附有xcopy命令的详细用法,有需要的朋友参考下吧批处理中的文件、文件夹操作,xcopy命令的用法。
一,建bat文件自动执行复制,删除命令。
例1:复制cd.dll文件至windows\system32的bat文件内容:代码如下:copy cd.dll %windir%\system32例2:卸载windows\system32目录中的cd.dll,即把上面复制的文件删除:代码如下:del %windir%\system32\cd.dll例3:删除download文件夹中的文件,例子如下:代码如下:del c:\download\*.*注意,以处的del命令只能删文件,不能删文件夹。
删除文件夹使用rd命令,如下:代码如下:>rd filemon这里filemon文件夹和该bat文件在同一目录下,就省去具体路径了。
但rd只能删除空文件夹.要删除文件夹及其里面的所有子目录和文件,用rd命令带/s /q参数,/s参数表示删除该文件夹及其下面的子目录和文件/q参数表示,不需要确认例子:代码如下:rd 123 /s /q二,创建文件夹例:在e:\my documents下面一次创建3个新文件夹:newfolder1,newfolder2,newfolder3 代码如下:@echo offmd e:\my documents\newfolder1md e:\my documents\newfolder2md e:\my documents\newfolder3三,执行程序,打开文件例1:执行c盘下的winword.exe程序代码如下:start c:\winword.exe例2:用某个程序打开某个文件,如用theworld.exe打开一个htm文件复制代码代码如下:start d:\theworld\theworld.exe c:\我有一个恋爱.htm[注意]:不论是程序或文件路径中含有空格,都必须用引号括起来:代码如下:start d:\theworld\theworld.exe e:\my documents\我有一个恋爱.htm所有程序中的引号不能是全角的,必须用半角的格式,所以输入引号前最好关闭汉字输入系统xcopy 还有众多的功能,是加参数来完成的。
windows应用场景下自动删除指定类型文件的批处理脚本

windows应用场景下自动删除指定类型文件的批处理脚本在Windows应用场景下,自动删除指定类型文件的批处理脚本批处理脚本是一种在Windows系统下运行的脚本文件,可以用于自动化地执行一系列指定的命令和操作。
在日常使用电脑的过程中,我们经常会遇到需要删除一些指定类型的文件的情况,而手动一个一个删除费时费力,这时候就可以借助批处理脚本来实现自动删除指定类型文件的操作。
以下是一个参考的批处理脚本示例,可根据实际需求进行修改和定制:```@echo offset "target_folder=C:\Users\YourUsername\Documents" // 设置目标文件夹路径,将YourUsername替换为你的用户名set "file_type=.txt" // 设置目标文件类型,比如删除所有的文本文件,可以将.txt替换为.docx或其他类型echo 正在删除 %target_folder% 目录中的所有 %file_type% 文件...cd /d %target_folder%del /s /q *%file_type%echo 删除完成!pause```解释说明:1. `@echo off` :此命令用于关闭回显,即在执行脚本时不将脚本的命令显示出来。
2. `set "target_folder=..."` :此行用于设置目标文件夹路径,你需要将其中的"..."替换为你想要删除文件的目标文件夹的路径,确保路径正确且存在。
3. `set "file_type=..."` :此行用于设置目标文件类型,你需要将其中的"..."替换为你想要删除的文件类型,比如".txt"、".docx"等。
4. `echo ...` :此行用于在命令行界面中显示一些信息,比如正在删除的文件路径。
自动清理固定目录的文件及文件夹的VBS代码

自动清理固定目录的文件及文件夹的VBS代码说明:(1)可根据需要修改保留文件及目录的规则,再用任务计划定时执行delete3filex.vbs文件。
(2)注意修改文件前面目录定义:deletepath="D:\Public\" '----------[删除目录]-------根据实际情况更改ruletxtpath="D:\Share\ruletxt.txt" '----------[规则文件路径]------根据实际情况更改deltimetype="d" '--[判断类型]---- yyyy年q 季m 月y 一年的日数d 日w 一周的日数ww周h 时n 分钟s 秒deltimenum=3 '--[保留时间数]--------根据实际情况更改,当类型为天,则为3天。
logtxtname="D:\Share\del3daylog.txt" '[删除日志记录文件]--------根据实际情况更改operatelogtxt="D:\Share\operatelog.txt" '[运行日志记录文件]--------根据实际情况更改1、规则文件:ruletxt.txt内容(以下内容直接存于ruletxt.txt文件):会议资料,工作流程,端口,操作说明-XP版.doc,文件管理.pptAdministrator,jz.zhudll,sys,steup,HH,测试,不Aministrator,everyone,Everyone--------文件说明,以下内容请勿删除---------文件规则说明:第一行表示不删除的文件及文件夹的关键字第二行表示不删除的文件及文件夹的所有者2、规则文件:delete3filex.vbs代码内容(以下内容直接存于delete3filex.vbs文件):'vervion:V0910-1 //1.加入删除日志记录功能;2.删除目录存在判断;3.日志写入错误捕获'//20120831增加公用常量deletepath[删除目录] ruletxtpath[规则文件路径]'//20120828 /增加通过文件夹,文件的所有者来控制删除动作;'20120828/1.增加删除规则,规则由记事本文件ruletxt.tx定义,对文件夹和文件同时适用[也可考虑分别用不同的文件定义规则;'修改内内容:1.改写删除目录函数与删除文件函数2.说明:n表示分钟,h表示小时;'Last date 2012/08/15dim deletepath,ruletxtpath,deltimetype,deltimenum,logtxtname,operatelogtxtdeletepath="D:\Public\" '----------[删除目录]-------根据实际情况更改ruletxtpath="D:\Share\ruletxt.txt" '----------[规则文件路径]------根据实际情况更改deltimetype="d" '--[判断类型]---- yyyy年q 季m 月y 一年的日数d 日w 一周的日数ww周h 时n 分钟s 秒deltimenum=3 '--[保留时间数]--------根据实际情况更改logtxtname="D:\Share\del3daylog.txt" '[删除日志记录文件]--------根据实际情况更改operatelogtxt="D:\Share\operatelog.txt" '[运行日志记录文件]--------根据实际情况更改'-------------------------运行日志开始部分------------------on error resume next '打开错误捕获Set operatelogfso = CreateObject("Scripting.FileSystemObject")Set operateobjStream = operatelogfso.OpenTextFile(operatelogtxt,8,true)'打开文件,不存在则创建if Err.number<>0 then '错误说明'WScript.Echo "运行日志文件不存在!"Wscript.quitErr.clear '清除err对象的内容end ifoperateobjStream.WriteLine("---------------------------------------------------------") operateobjStream.WriteLine(now()&" 程序开始执行!")'------------删目录---------------Function DeleteFolder()operateobjStream.WriteLine(now()&" 判断目录删除开始!")Dim objFSO,objFolder,strPath,targetFSO,subFSO,DirPathDirPath = deletepath'DirPath = "C:\Temp\Temp\"Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FolderExists(DirPath) ThenoperateobjStream.WriteLine(now()&" 删除目录存在!")'WScript.Echo "删除目录存在!"elseoperateobjStream.WriteLine(now()&" 删除目录不存在,程序执行结束!") 'WScript.Echo "删除不目录存在!"Wscript.quitEnd IfSet targetFSO = objFSO.GetFolder(DirPath)Set subFSO = targetFSO.SubFolders''WScript.Echo "2!"For Each subFolder in subFSOoperateobjStream.WriteLine(now()&" 取得所有目录名!")'If DateDiff("n",subFolder.DateCreated,now)>1 ThenIf DateDiff(deltimetype,subFolder.DateCreated,now)>deltimenum Then operateobjStream.WriteLine(now()&" 对大于某时间的目录进行删除目录条件判断开始!")'-----读取规则文件dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("D:\Share\Public\ruletxt.txt",1,true)'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取关键字规则成功!规则是:["&txtbookline&"]")end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)operateobjStream.WriteLine(now()&" 关键字规则判断开始!")fori=0 to uBound(txtbookline1)ifInStr(1,,txtbookline1(i))>0 thendelfieleID="false"Exit forelseend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合关键字删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合关键字删除规则!")end ifoperateobjStream.WriteLine(now()&" 关键字规则判断结束!")'-----规则遍历结束,满足条件已删除operateobjStream.WriteLine(now()&" 目录所有者规则判断开始!")'--------------------------判断文件夹所有者开始-------------'dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志'delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组objWorkbook.SkipLine() '跳过第一行ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取所有者规则成功!规则是!["&txtbookline&"]") end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)'取得将要删除文件夹的所有者dimstrFileName,FileOwnerstrFileName = DirPath& '完整路径名Set objWMIService = GetObject("winmgmts:")Set objFileSecuritySettings = _objWMIService.Get("Win32_LogicalFileSecuritySetting='" &strFileName& "'")intRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)If intRetVal = 0 Then''WScript.Echo "Owner: " &objSD.Owner.Domain& "\" &FileOwner=Else''WScript.Echo "Couldn't retrieve security descriptor."FileOwner=""End Iffori=0 to uBound(txtbookline1)ifInStr(1,FileOwner,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合目录所有者删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合目录所有者删除规则!")end ifoperateobjStream.WriteLine(now()&" 目录所有者规则判断结束!")'--------------------------判断文件夹所有者结束,特定所有者不删除-----------ifdelfieleID="true" thenstrPath = DirPath&'WScript.Echo '------日志记录开始-----'三个参数的分别为:以只读模式打开文件、以只写方式打开文件、打开文件并在文件末尾进行写操作'ConstintForReading = 1,intForWriting = 2,intForAppending = 8on error resume next '打开错误捕获dimstrText,intForAppendingintForAppending=8strText="已删除目录:"&now()&" "&FileOwner&" "&Set logfso = CreateObject("Scripting.FileSystemObject")Set objStream = logfso.OpenTextFile(logtxtname,intForAppending,true)'打开文件,不存在则创建objStream.WriteLine(strText)objStream.CloseSet logfso = nothingSet objStream = nothingif Err.number<>0 then '错误说明'WScript.Echo "写入日志失败!"operateobjStream.WriteLine(now()&" ["&&"] 目录删除日志写入失败,停止程序运行!")Wscript.quitErr.clear '清除err对象的内容elseoperateobjStream.WriteLine(now()&" ["&&"] 目录删除日志写入成功!")'WScript.Echo "日志写入成功!"end if'------日志记录结束-----objFSO.DeleteFolder(strPath)operateobjStream.WriteLine(now()&" ["&&"] 目录删除成功!")'WScript.Echo "文件夹删除成功!"elseoperateobjStream.WriteLine(now()&" ["&&"] 目录不能删除!") 'WScript.Echo &" 文件夹不能删除!"end if'strPath = DirPath&''WScript.EchostrPath''WScript.Echo "4!"'objFSO.DeleteFolder(strPath)''WScript.Echo "5!"End IfNextoperateobjStream.WriteLine(now()&" 对大于某时间的目录进行删除目录条件判断结束!")End Function'------------删文件------------------Function DeleteFile()operateobjStream.WriteLine(now()&" 判断文件删除开始!")Dim objFSO,objFolder,strPath,targetFSO,subFSO,DirPathDirPath = deletepath'DirPath = "C:\Temp\Temp\"Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FolderExists(DirPath) ThenoperateobjStream.WriteLine(now()&" 删除目录存在!")'WScript.Echo "删除目录存在!"elseoperateobjStream.WriteLine(now()&" 删除目录不存在,程序执行结束!") 'WScript.Echo "删除不目录存在!"Wscript.quitEnd IfSet targetFSO = objFSO.GetFolder(DirPath)Set subFSO = targetFSO.FilesoperateobjStream.WriteLine(now()&" 取得所有文件名!")''WScript.Echo "12!"For Each subFiles in subFSOoperateobjStream.WriteLine(now()&" 对大于某时间的文件进行删除文件条件判断开始!")''WScript.Echo "13!"'If DateDiff("n",subFolder.DateCreated,now)>1 ThenIf DateDiff(deltimetype,subFiles.DateCreated,now)>deltimenum Then'-----------------读取规则文件------------------------dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("D:\Share\Public\ruletxt.txt",1,true)'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取关键字规则成功!规则是:["&txtbookline&"]")end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)fori=0 to uBound(txtbookline1)ifInStr(1,,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合关键字删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合关键字删除规则!")end ifoperateobjStream.WriteLine(now()&" 关键字规则判断结束!")'-------------------规则遍历结束,满足条件已删除--------------------operateobjStream.WriteLine(now()&" 文件所有者规则判断开始!")'--------------------------判断文件所有者开始-------------'dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志'delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组objWorkbook.SkipLine() '跳过第一行ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取所有者规则成功!规则是!["&txtbookline&"]") end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)'取得将要删除文件的所有者dimstrFileName,FileOwnerstrFileName = DirPath& '完整路径名Set objWMIService = GetObject("winmgmts:")Set objFileSecuritySettings = _objWMIService.Get("Win32_LogicalFileSecuritySetting='" &strFileName& "'")intRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)If intRetVal = 0 Then''WScript.Echo "Owner: " &objSD.Owner.Domain& "\" &FileOwner=Else''WScript.Echo "Couldn't retrieve security descriptor."FileOwner=""End Iffori=0 to uBound(txtbookline1)ifInStr(1,FileOwner,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合文件所有者删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合文件所有者删除规则!")end ifoperateobjStream.WriteLine(now()&" 文件所有者规则判断结束!")'--------------------------判断文件所有者结束,特定所有者不删除-----------ifdelfieleID="true" thenstrPath = DirPath&'WScript.Echo '------日志记录开始-----'三个参数的分别为:以只读模式打开文件、以只写方式打开文件、打开文件并在文件末尾进行写操作'ConstintForReading = 1,intForWriting = 2,intForAppending = 8on error resume next '打开错误捕获dimstrText,intForAppendingintForAppending=8strText="已删除文件:"&now()&" "&FileOwner&" "&Set logfso = CreateObject("Scripting.FileSystemObject")Set objStream = logfso.OpenTextFile(logtxtname,intForAppending,true)'打开文件,不存在则创建objStream.WriteLine(strText)objStream.CloseSet logfso = nothingSet objStream = nothingif Err.number<>0 then '错误说明operateobjStream.WriteLine(now()&" ["&&"] 文件删除日志写入失败,停止程序运行!")'WScript.Echo "写入日志失败!"Wscript.quitErr.clear '清除err对象的内容elseoperateobjStream.WriteLine(now()&" ["&&"] 文件删除日志写入成功!") 'WScript.Echo "日志写入成功!"end if'------日志记录结束-----objFSO.DeleteFile(strPath)operateobjStream.WriteLine(now()&" ["&&"] 文件删除成功!") 'WScript.Echo "文件删除成功!"elseoperateobjStream.WriteLine(now()&" ["&&"] 文件不能删除!") 'WScript.Echo &" 文件不能删除!"end if'strPath = DirPath&''WScript.EchostrPath''WScript.Echo "14!"'objFSO.DeleteFile(strPath)''WScript.Echo "15!"End IfNextSet objFSO = nothingSet targetFSO = nothingSet subFSO = nothingEnd FunctionCall DeleteFolder()Call DeleteFile()operateobjStream.WriteLine(now()&" 程序执行完成!") operateobjStream.WriteLine("---------------------------------------------------------") setoperatelogfso = nothingsetoperateobjStream = nothing。
批处理bat文件实现复制、删除、创建文件夹、执行程序、打开文件

1 建bat文件自动执行复制,删除命令。
例1:以下是复制cd.dll文件至windows\system32的bat文件内容:copy cd.dll %windir%\system32例2:下面一行是卸载windows\system32目录中的cd.dll,即把上面复制的文件删除:del %windir%\system32\cd.dll例3:删除download文件夹中的文件,例子如下:del C:\DOWNLOAD\*.*[注意]:这里的del命令只能删文件,不能删文件夹。
要删除文件夹得用rd命令,如下:rd Filemon这里filemon文件夹和该bat文件在同一目录下,就省去具体路径了。
但rd只能删除空文件夹.要删除文件夹及其里面的所有子目录和文件,用rd命令带/s /q参数,/s参数表示删除该文件夹及其下面的子目录和文件/q参数表示,不需要确认范例如下:rd 123 /s /q2 创建文件夹例:在E:\My documents下面一次创建3个新文件夹:Newfolder1,Newfolder2,Newfolder3@echo offmd "E:\My documents\Newfolder1"md "E:\My documents\Newfolder2"md "E:\My documents\Newfolder3"3 执行程序,打开文件例1:执行C盘下的WinWord.exe程序start C:\WinWord.exe例2:用某个程序打开某个文件,如用TheWorld.exe打开一个htm文件start d:\TheWorld\TheWorld.EXE C:\我有一个恋爱.htm[注意]:不论是程序或文件路径中含有空格,都必须用引号括起来:start d:\TheWorld\TheWorld.EXE "e:\My documents\我有一个恋爱.htm"所有程序中的引号不能是全角的,必须用半角的格式,所以输入引号前最好关闭汉字输入系统XCOPY 还有众多的功能,是加参数来完成的。
批处理清空文件内容

批处理清空文件内容批处理是一种在Windows操作系统中常用的命令行工具,它可以用来自动化执行一系列的操作。
其中,清空文件内容是批处理中的一项常见操作。
在本文中,我们将介绍如何使用批处理清空文件内容,并探讨其应用场景和注意事项。
让我们来看一下如何使用批处理清空文件内容。
假设我们要清空一个名为“test.txt”的文本文件,我们可以使用以下命令:echo. > test.txt这个命令的含义是将一个空行输出到标准输出流,并将其重定向到“test.txt”文件中。
由于输出的是一个空行,因此“test.txt”文件的内容就被清空了。
除了使用“echo”命令外,我们还可以使用“type”命令来清空文件内容。
具体来说,我们可以使用以下命令:type nul > test.txt这个命令的含义是将一个空文件的内容输出到标准输出流,并将其重定向到“test.txt”文件中。
由于输出的是一个空文件的内容,因此“test.txt”文件的内容也被清空了。
接下来,让我们来探讨一下批处理清空文件内容的应用场景。
一般来说,清空文件内容的操作常常用于日志文件、配置文件等需要定期清空的文件中。
例如,我们可以编写一个定时任务,每天清空一次日志文件,以保证日志文件的大小不会无限增长,从而影响系统性能。
当然,在使用批处理清空文件内容时,也需要注意一些事项。
首先,清空文件内容是一项具有破坏性的操作,因此在执行之前一定要确认自己的操作目标。
其次,清空文件内容可能会导致文件的元数据(如创建时间、修改时间等)发生变化,因此在某些场景下可能会影响到文件的使用。
最后,清空文件内容也可能会导致文件的恢复变得困难,因此在需要保留文件内容的情况下,应该选择其他的文件操作方式。
批处理清空文件内容是一项常见的操作,它可以帮助我们自动化执行一些定期清理的任务。
在使用时,我们需要注意操作目标、文件元数据和文件恢复等方面的问题,以确保操作的安全性和有效性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=E:\test\test
rem 指定天数
set DaysAgo=3
>"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\DstDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (
set "DstDate=%%a"
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
setlocal enabledelayedexpansion
for /d %%a in (*.*) do (
set "FileDate=%%~na"
set "FileDate=!FileDate:~0,10!"
if "!FileDate!" == "%DstDate%" (
if exist "%%a" (
echo.&echo.
echo 删除文件%%a.rar
rem pause
del /f /q "%%a.rar"
)
)
)
endlocal
pause。