⑴ 用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