⑴ 用VBS删除指定文件夹创建时间为20分钟前的文件
1.直接进文件夹
2.查看----详细信息
3.点击修改日期
4.批量选中
5.删除
⑵ 如何用批处理实现;根据文件或文件夹的'最后修改时间(或生成时间)'删除指定路径内30天以前的文件或文件夹
@echo off
setlocal enabledelayedexpansion
Rem 取30天之前的日期,取回放入变量riqi
echo wscript.echo dateadd("d",-30,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%
rem 设置要处理的文件夹路径
set "mulu=c:\test"
rem 设置要处理的文件类型,也就是后缀
set "lx=txt"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /a-d /tw "%mulu%\*.%lx%"^|find /v ^"字节^"') do (
set delrq=%%a
set delrq=!delrq:-=!
if !delrq! lss %riqi% (
del /q "%mulu%\%%~nxb"
)
)
echo 处理完成,按任意键退出程序
pause>nul&exit
===================
回楼主,可以的,帮你修改了下..
@echo off
setlocal enabledelayedexpansion
Rem 取30天之前的日期,取回放入变量riqi
echo wscript.echo dateadd("d",-30,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%
rem 设置要处理的文件夹路径
set "mulu=c:\test"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /ad /tw "%mulu%"^|find /v ^"字节^"') do (
set delrq=%%a
set delrq=!delrq:-=!
if !delrq! lss %riqi% (
rd /s/q "%mulu%\%%b"
)
)
echo 处理完成,按任意键退出程序
pause>nul&exit
⑶ vbs根据文件修改时间自动删除早期文件
VBS执行后,每隔3600000毫秒,也就是1小时检测一次
时间和目录可以自己修改。
另外,程序没有判断文件是否为 bak ,只要在指定文件夹下的,都算1个。
do
set fso = createobject("scripting.filesystemobject")
set fods = fso.getfolder("d:\vip\")
tm = date: snow = 0
set fis=fods.files
for each fi in fis
snow = snow +1
if tm > fi.datelastmodified then tm = fi.datelastmodified: wind = fi.path
next
if snow > 20 then fso.deletefile wind
wscript.sleep 3600000
loop
======================================================
因为你的文件只是临时创建的,估计是同一天创建的吧??
如果你把这个vbs 放到一个较早的文件夹下运行 也报错吗?
刚刚我把时间改5000,又测试了一次,每5秒删除我一个MP3文件,直到仅剩下19个为止,效果很好。
⑷ 用VBS或VB查找文件夹里最新时间的EXCEL里指定的文字,如果有,返回一个对话框提示,这个应该怎么写
这是一个示例代码,实际使用中需要根据自己的需求进行调整。
' 定义变量
Dim fso, folder, file, excelFile, sheet, findText
' 初始化变量
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\myfolder")
findText = "hello"
' 查找最新时间的EXCEL文件
For Each file In folder.Files
If file.Type = "Microsoft Excel Worksheet" And file.DateLastModified > excelFile.DateLastModified Then
Set excelFile = file
End If
Next
' 打开EXCEL文件并查找文字
Set excel = excelFile.OpenAsTextStream(1, -2)
Set sheet = excel.Worksheets(1)
Set findRange = sheet.Range("A1:Z1000")
Set findResult = findRange.Find(findText)
' 如果找到了,弹出对话框提示
If Not findResult Is Nothing Then
MsgBox "Found the text in the Excel file."
End If
⑸ 求vbs代码: 取得文件的日期判断是否当天的创建的
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("c:\a.txt")
md =DateValue(f.DateCreated)
nd=date
if md<>nd then
msgbox("不是今天创建的" & vbcrlf & "它的创建时间是: " & f.DateCreated)
else
msgbox("这个文件是今天创建的")
end if