如何批處理實現刪除 D test下30天前的資料夾,以建立日期為標準?

2025-01-10 13:55:07 字數 2699 閱讀 8502

1樓:網友

瀏覽資料夾的時候使用檢視詳細資訊,然後使用排序,按照時間進行排序,可以直接找到30天前的資料夾,全選刪除即可。

如何用批處理實現;根據檔案或資料夾的'最後修改時間(或生成時間)'刪除指定路徑內30天以前的檔案或資料夾

2樓:網友

@echo off

setlocal enabledelayedexpansion

rem 取30天之前的日期,取回放入變數riqi

echo dateadd("d",-30,date) >tmp%\

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 dateadd("d",-30,date) >tmp%\

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

3樓:拉格朗日大人

很麻煩估計要用到管道,我也不太會給個提示看會不會對你有用吧,time得到日期,然後變換到30天前日期通過管道把日期傳給dir,dir用/t卡關可以只列出特定日期的檔案在通過管道把名字傳給del就行了,不過這裡面也是很複雜啊哈雜湊望對你有用,你乾脆用vc寫乙個控制檯程式的了呵呵這樣還比較簡單。

怎麼用bat刪除 c:\test下30天前的所有檔案,沒有資料夾(寫個bat)

4樓:

30天前指的什麼時間,建立時間,還是修改時間@echo offrem 刪除指定資料夾/目錄裡指定天數前建立的檔案mode con lines=3000

title %#% +z%cd /d "%~dp0"

set "folder=c:\test"

set d=-30

%tmp%\" echo;dt=dateadd("d", %d%, now):set fso=createobject("")

"%tmp%\" echo;do while <^true:set f=:if

bat刪除指定建立日期天數前檔案及資料夾

5樓:網友

@echo off

rem --

rem 如果顯示的待刪除檔案列表正確無誤。

rem 把 select-object fullname 修改成 remove-item -force 再次執行即可真正刪除檔案。

rem win7/win8/win10等系統自帶powershell

rem --

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

set srcdir=c:\test\bathome

rem 指定天數。

set daysago=10

powershell -c "get-childitem -path '%srcdir%' -recurse -erroraction:silentlycontinue | where-object -filterscript | select-object fullname"

pause批處理刪除指定天數日期之前的檔案(2017-05-17)

請教如何實現用批處理命令刪除mysql30天前的記錄

6樓:網友

刪除30天前的資料夾,日期的判斷以資料夾的建立日期為準。

cd /d "g:\backup\"

echo lastdate=date()-30>> echo fmtdate=right(year(lastdate),4) ^right("0" ^&month(lastdate),2) ^right("0" ^&day(lastdate),2)

echo fmtdate!

如何做這個批處理 10,如何建立批處理檔案

具體先進入的命令不知道但試試這個方法。第一步 在該資料夾內 排列圖示 方式選擇 名稱 此時數字的檔名檔案就在一邊去了吧,此時刪除方法也不用說了吧。或者第二步 將下面的字元儲存到一個新建的記事本里。再將此記事本關閉,最後將這個記事本副檔名txt改為bat。del f a q 1 rd s q 1 這個...

bat批處理移動檔案,如何用批處理移動檔案及資料夾?

echo off color 0b cls echo.echo 批量釋放檔案.echo.echo chapter裡面如果有目錄結構,再hi我增加codeecho 因為不知道你要chapter裡面目錄結構檔案如何處理echo 是帶目錄一起移動,還是目錄資料夾全部刪除,提取出檔案?echo.echo c...

幫忙編寫下批處理,如何編寫批處理檔案?

看了補充了,就像我這樣寫就可以,只是在壓縮包裡三個檔案要在同一個目錄下,如果是子目錄就 folder 就可以。就把 和你的批處理檔案放在同一個目錄下。批處理寫 這是分割線 這是分割線 這樣就可以先執行直到其完成並關閉後,執行。只要下面4行就可以了。echo off cd d dp0 第二行的意思是把...