婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用批處理刪除N天前或指定日期時間(前后)創建(或修改)的文件

用批處理刪除N天前或指定日期時間(前后)創建(或修改)的文件

熱門標簽:智能打電話機器人收費 玉林市機器人外呼系統哪家好 如何申請400電話業務mm 如何弄地圖標注 清遠百度地圖標注店鋪位置 雷霆電銷機器人怎么樣 電話機器人產品怎么樣 呼倫貝爾外呼系統 電話機器人全國招商

核心代碼:

@echo off
:: by oicu#lsxk.org
:: 15:17 2011-1-13

:: 如果只是刪除指定日期或N天前修改的文件,用forfiles即可
FORFILES /P "C:\測試目錄" /S /M *.log /D -3 /C "cmd /c if @isdir==FALSE echo del @file"
:: 指定日期(包含)前修改的文件:/D -yyyy/mm/dd

:: 以下是流水賬
:: 使用限制:控制面板里設定日期格式為中文(中國)
:: 只有dir /tc才能查看到文件創建時間,默認dir都是dir /tw
:: 為了取出創建時間,只好用兩次for+find,肯定很慢。

cd /d 你的目錄
:: 如果要包含子目錄,用for /r . %%a in (*)

:: 顯示文件修改時間
for %%a in (*) do echo "%%~ta"
:: 中文格式時相當于
for %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tw "%%a" ^| find /i "%%~nxa"'
) do echo "%%b %%c"

:: 刪除某個時間后修改過的文件(這個簡單)
for %%a in (*) do if "%%~ta" gtr "2008-04-01" echo del "%%a"

:: 這個才是顯示文件創建時間
for %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tc "%%a" ^| find /i "%%~nxa"'
) do echo "%%b %%c"

:: 刪除某個時間之后創建的文件,如果要刪除某個時間之前創建的,更改兩
:: 處gtr為lss。除了日期外,增加判斷時間,可以去掉else段。
for %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tc "%%a" ^| find /i "%%~nxa"') do (
  if "%%b" gtr "2010-12-15" (
    echo del "%%a"
  ) else (
    if "%%b" equ "2010-12-15" if "%%c" gtr "14:50" echo del "%%a"
  )
)

:: 用批處理計算時間受到系統的日期格式限制,影響到用set取某一字段的值,
:: 批處理計算時間方法過于復雜,要么只用vbs腳本刪除文件,要么用批處理
:: 配合vbs腳本刪除。

:: 取10天之前的日期,取回放入變量OldDate
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /f %%a in ('cscript /nologo GetOldDate.vbs') do set OldDate=%%a
echo %OldDate%
del GetOldDate.vbs

:: VBScript里沒有Format函數,Year、Month、Day等函數取數值后也要處理小
:: 于10的數字,只能用下面的方法整理日期格式
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.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 OldDate=%y%-%m%-%d%
echo %OldDate%
del GetOldDate.vbs


:: 綜合上文,最后得到我們想要的結果
:: 刪除10天前創建的舊文件(不含子目錄)
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.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 OldDate=%y%-%m%-%d%
del GetOldDate.vbs
for %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tc "%%a" ^| find /i "%%~nxa"') do (
  if "%%b" lss "%OldDate%" echo del "%%a"
)

:: 刪除10天前修改的舊文件(不含子目錄)
echo wscript.echo dateadd("d",-10,date)>GetOldDate.vbs
for /f "tokens=1,2,3* delims=-/. " %%i in ('cscript /nologo GetOldDate.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 OldDate=%y%-%m%-%d%
del GetOldDate.vbs
for %%a in (*) do if "%%~ta" lss "%OldDate%" echo del "%%a"


:: 本文全部用echo del代替del,只是顯示要刪除的文件,并不實際刪除。

pause
goto :eof

您可能感興趣的文章:
  • 用批處理文件自動備份文件及文件夾,并自動刪除n天前的文件
  • cmd forfiles 從文件夾或樹中選擇要進行批處理的文件(方便批量刪除n天前的文件)

標簽:臺州 白銀 公主嶺 蕪湖 三門峽 株洲 江西 樂山

巨人網絡通訊聲明:本文標題《用批處理刪除N天前或指定日期時間(前后)創建(或修改)的文件》,本文關鍵詞  用,批處理,刪除,天前,或,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用批處理刪除N天前或指定日期時間(前后)創建(或修改)的文件》相關的同類信息!
  • 本頁收集關于用批處理刪除N天前或指定日期時間(前后)創建(或修改)的文件的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武冈市| 高台县| 自治县| 淅川县| 罗源县| 双牌县| 岳阳县| 巍山| 渝北区| 阳高县| 桃源县| 鲁山县| 抚松县| 安顺市| 郁南县| 长沙县| 延川县| 亚东县| 炎陵县| 横山县| 象山县| 家居| 通江县| 驻马店市| 洛隆县| 广德县| 赤壁市| 河曲县| 仲巴县| 台湾省| 湖州市| 南溪县| 红河县| 长阳| 灵川县| 翁牛特旗| 仁化县| 辽宁省| 邢台县| 吉木萨尔县| 百色市|