寫個bat刪除指定資料夾下某天前所有檔案資訊

2022-03-05 12:10:43 字數 3320 閱讀 1353

1樓:匿名使用者

不是太明天你的意思,這有個以前寫的,你參考下。

2樓:匿名使用者

@echo off

::搜尋並顯示指定目錄下(當前日期-修改日期》兩天)的檔案

setlocal enabledelayedexpansion

for /f "tokens=1-3 delims=/ " %%a in ('echo %date%') do set tday=%%a%%b%%c

::測試路徑e:\diffziprul,測試子目錄搜尋

::dir /s/b/a-d-h顯示當前目錄下的檔案(子目錄,簡單格式,不顯示目錄,不顯示隱藏檔案

for /f "tokens=1 delims=" %%a in ('dir /s/b/a-d-h "e:\diffziprul"') do (

set fname=%%a

::dir /tw顯示修改時間

for /f "tokens=1-3,6 delims=/ " %%b in ('dir /tw "!fname!"^|findstr/v "位元組"^|findstr/v "目錄"^|findstr/v "卷"^|findstr/v "dir"') do (

::取檔案修改日期,然後+2表示兩天的時間差

set /a fday=%%b%%c%%d

set /a fday+=2

::如果檔案修改日期加上兩天還是比當前日期小,那麼表示修改於兩天前,這裡用echo !fname!

顯示符合條件的檔案,以作除錯,實際應用時改成需要的動作,比如刪除就寫作del "!fname!" /q這樣

if !fday! lss !tday! (echo "!fname!")))

pause

批處理bat問題:刪除一個資料夾下所有子資料夾下指定時間前的檔案

怎麼用bat寫出指定資料夾下幾天前的所有檔案

3樓:匿名使用者

請先備份再測試

@echo off

set "f_p=e:\123"

set/a n=90

rem    計算前n天日期,閏年按簡單4年一閏計  ----  yyykkkyyyy

echo.

set/a d-=n,"1/(-d>>31)" 2>nul&&goto :ok

:loop

set/a m-=1,d+=31,y-=!m,m+=!m*12

if %d% leq 0 goto :loop

:okset/a m+=100,d+=100

set "d_n=%y%-%m:~1%-%d:~1%"

echo 本批處理繼續執行將刪除%f_p%下%d_n%日及之前的檔案

set/p=否則請關閉此視窗!按任意鍵將開始刪除... nul

clscd/d "%f_p%"

echo 正在刪除檔案

echo;

for /f "delims=" %%i in ('dir/b/s/ad^|sort/r')do (

rd "%%i" 2>nul&&echo 刪除資料夾%%i)

pause>nul

4樓:環環緊扣

rem 指定待刪除檔案的存放路徑

set srcdir=c:\test\bathome

rem 指定天數

set daysago=1

for /f "delims=" %%a in ('reg query "hkey_current_user\control panel\international" /v sshortdate') do (

set "regdateold=%%a"

reg add "hkey_current_user\control panel\international" /v sshortdate /t reg_sz /d yyyy-m-d /f>nul

>"%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"

for /r "%srcdir%" %%a in (*.*) do (

if "%%~ta" leq "%dstdate%" (

if exist "%%a" (

echo del /f /q "%%a"))

)reg add "hkey_current_user\control panel\international" /v sshortdate /t reg_sz /d %regdateold% /f>nul

pause

想要使用bat來刪除某指定資料夾內的,指定天數以前的檔案。

5樓:匿名使用者

如果每天一個檔案的話,刪除30天前的檔案為例,可以用下面的方法@echo off

pushd d:\指定資料夾

set n=30

如果每天檔案多於一個的話,需藉助vbs來實現。

用bat本身判斷日期的有效性有點複雜。

6樓:匿名使用者

bat 是指批處理嗎

如果是的話那 delete 命令沒有一個引數可以用來判斷檔案建立時間的,所以不能實現

求大神寫個windows下 刪除指定資料夾裡面一週前的所有檔案和資料夾的bat

求批處理 批量刪除指定資料夾下的多個指定資料夾及檔案

用rmdir命令配合 s和 q s 除目錄本身外,還將刪除指定目錄下的所有子目錄和檔案。用於刪除目錄樹。q 安靜模式,帶 s 刪除目錄樹時不要求確認rmdir s q d d 網路 我rmdir s q d d 網路 上下rmdir s q d d 網路 上下025 自己修改用吧 echo off ...

批處理刪除包含指定字元的資料夾,寫個批處理刪除指定檔案或指定資料夾

這問題用系統提供的查詢的方法,按你的想法填上相關條件就可以把想處理的集中到一塊了,刪除也就容易了,如果是想讓人幫你寫批處理,描述得不詳細。echo off set p fn 請輸入包含的字串 for f delims i in dir fn ad b do rd s q i echo 完成!paus...

這個資料夾下的東西可以刪除嗎?謝咯

c documents and settings all users資料夾下是安裝一些軟體的時候產生的。如果刪了可能引起你的用些程式不能正常使用。但很多病毒也可埋在裡面。c documents and settings all users 裡面儲存所有使用者公用的資料資料,包括但不不限於程式的快捷方...