AutoHotkey:定時刪除目錄下指定分鐘以前的文件,帶UI界面

刪除指定目錄下,所有在某個指定分鐘以前的文件,可以用來清理經常生成很多文件的目錄,但又需要保留最新的一部分文件

支持拖放目錄到界面
能夠記憶設置,下次啟動后不用重新設置,可以直接開始

應用場景比如:游戲定時存檔,日志目錄、監控文件目錄等

關于這個刪除后備份,我的需求是這樣,如果你要的是刪除前備份,可以把_del()函數里的_bak()調用放到最前面

不多廢話,直接上代碼

SetWorkingDir %A_ScriptDir%SplitPath, A_ScriptName,,,,IniFile
IniFile = %IniFile%.iniGui New, -0x10000 -0x30000 ;無最小化和最大壞按鈕
Gui Font, s9, Segoe UIGui Add, Text, x10 y15 w34 h20 +0x200, 目錄:
Gui Add, Edit, vEdtFolder gOnEdtFolderChange x64 y14 w299 h21Gui Add, Text, x10 y51 w48 h23 +0x200, 分鐘前:
Gui Add, Edit, vEdtMin gOnEdtMinChange x63 y51 w26 h21Gui Add, CheckBox, vChkBak gOnChkBakChange x10 y88 w85 h23, 刪除后備份Gui Add, Text, x115 y50 w98 h23 +0x200, 檢測間隔[分鐘]:
Gui Add, Edit, vEdtInterval gOnEdtIntervalChange x216 y50 w26 h21Gui Add, Edit, vEdtZipFile gOnEdtZipFileChange x100 y88 w265 h21Gui Add, Button, gOnBtnStart x147 y130 w72 h23, 開始監視;讀取INI賦值
IniRead, Folder, % IniFile, Base, Folder
if (Folder = "" || Folder == "ERROR")Folder = 拖放文件夾到這里
IniRead, Min, % IniFile, Base, Min
if (Min = "" || Min == "ERROR")Min = 30
IniRead, Interval, % IniFile, Base, Interval
if (Interval = "" || Interval == "ERROR")Interval = 5
IniRead, IsBackup, % IniFile, Base, IsBackup
if (IsBackup = "" || IsBackup == "ERROR")IsBackup = 0
IniRead, ZipFile, % IniFile, Base, ZipFile
if (ZipFile = "" || ZipFile == "ERROR")ZipFile = 備份文件路徑 [擴展名:.zip]
GuiControl,, EdtFolder, % Folder
GuiControl,, EdtMin, % Min
GuiControl,, EdtInterval, % Interval
GuiControl,, ChkBak, % IsBackup
GuiControl,, EdtZipFile, % ZipFileGui Show, w371 h169, 刪除目錄下指定分鐘以前的文件
ReturnOnEdtFolderChange:
global Folder
GuiControlGet, Folder, , EdtFolder
;MsgBox % Folder
IniWrite % Folder,  % IniFile, Base, Folder
ReturnOnEdtMinChange:
global Min
GuiControlGet, Min, , EdtMin
IniWrite % Min,  % IniFile, Base, Min
ReturnOnEdtIntervalChange:
global Interval
GuiControlGet, Interval, , EdtInterval
IniWrite % Interval,  % IniFile, Base, Interval
ReturnOnChkBakChange:
global IsBackup
GuiControlGet, IsBackup, , ChkBak
IniWrite % IsBackup,  % IniFile, Base, IsBackup
ReturnOnEdtZipFileChange:
global ZipFile
GuiControlGet, ZipFile, , EdtZipFile
IniWrite % ZipFile,  % IniFile, Base, ZipFile
ReturnGuiDropFiles:
Loop, Parse, A_GuiEvent, `n
{global IniFileFirstFile = %A_LoopField%FileGetAttrib, Attributes, % FirstFileIfInString, Attributes, D ;是目錄;MsgBox This is a directory.GuiControl,, EdtFolder, % FirstFile ;自動調用onChangebreak
}
ReturnOnBtnStart:
global Folder
if !FileExist(Folder)
{MsgBox 目錄不存在!return
}Gui, Hideglobal Interval
_del()
SetTimer _del, % Interval * 60 * 1000
ReturnGuiEscape:
GuiClose:ExitApp_del(){global Folder ;必須引用global MinLoop  %Folder%\*{;計算文件的最后修改時間距離當前時間的分鐘數TimeNow := A_NowEnvSub TimeNow, A_LoopFileTimeModified, Minutes;如果文件的最后修改時間超過了指定的分鐘數,就刪除該文件if (TimeNow > Min){;MsgBox %A_LoopFileFullPath%;盡可能刪除到回收站,否則使用FileDeleteFileRecycle %A_LoopFileFullPath%}}_bak()
}_bak()
{global Folderglobal ZipFileIfExist %ZipFile%FileRecycle %ZipFile%;雙引號路徑可以處理空格Run 7z.exe a -tzip -r "%ZipFile%" "%Folder%",,Hide
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41018.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WinForm內嵌Unity3D

Unity3D可以C#腳本進行開,使用vstu2013.msi插件,可以實現在VS2013中的調試。在開發完成后,由于項目需要,需要將Unity3D嵌入到WinForm中。WinForm中的UnityWebPlayer Control可以載入Unity3D。先看效果圖。 一、為了能夠動態設置ax…

【boost網絡庫從青銅到王者】第五篇:asio網絡編程中的同步讀寫的客戶端和服務器示例

文章目錄 1、簡介2、客戶端設計3、服務器設計3.1、session函數3.2、StartListen函數3、總體設計 4、效果測試5、遇到的問題5.1、服務器遇到的問題5.1.1、不用顯示調用bind綁定和listen監聽函數5.1.2、出現 Error occured!Error code : 10009 .Message: 提供的文件句柄無效。 [s…

Failed to execute goal org.apache.maven.plugins

原因: 這個文件D:\java\maven\com\ruoyi\pg-student\maven-metadata-local.xml出了問題 解決: 最簡單的直接刪除D:\java\maven\com\ruoyi\pg-student\maven-metadata-local.xml重新打包 或者把D:\java\maven\com\ruoyi\pg-student這個目錄下所有文件…

性能測試場景設計

性能測試場景設計,是性能測試中的重要概念,性能測試場景設計,目的是要描述如何執行性能測試。 通常來講,性能測試場景設計主要會涉及以下部分: 并發用戶數是多少? 測試剛開始時,以什么樣的速率…

Spring WebFlux 的詳細介紹

Spring WebFlux 是基于響應式編程的框架,用于構建異步、非阻塞的 Web 應用程序。它是Spring框架的一部分,專注于支持響應式編程范式,使應用程序能夠高效地處理大量的并發請求和事件。 以下是關于 Spring WebFlux 的詳細介紹: 1. *…

go入門實踐五-實現一個https服務

文章目錄 前言生成證書申請免費的證書使用Go語言生成自簽CA證書 https的客戶端和服務端服務端代碼客戶端代碼 tls的客戶端和服務端服務端客戶端 前言 在公網中,我想加密傳輸的數據。(1)很自然,我想到了把數據放到http的請求中,然后通過tls確…

2023年京東寵物食品行業數據分析(京東大數據)

寵物食品市場需求主要來自于養寵規模,近年來由于我國寵物數量及養寵人群的規模均在不斷擴大,寵物相關產業和市場規模也在蓬勃發展,寵物食品市場也同樣保持正向增長。 根據鯨參謀電商數據分析平臺的相關數據顯示,2023年1月-7月&am…

vue5種模糊查詢方式

在Vue中,有多種方式可以實現模糊查詢。以下是五種常見的模糊查詢方式: 使用JavaScript的filter()方法:使用filter()方法可以對數組進行篩選,根據指定的條件進行模糊查詢。例如: data() {return {items: [{ name: App…

接口自動化測試(添加課程接口調試,調試合同上傳接口,合同列表查詢接口,批量執行)

1、我們把信息截取一下 1.1 添加一個新的請求 1.2 對整個請求進行保存,Ctrl S 2、這一次我們添加的是課程添加接口,以后一個接口完成,之后Ctrl S 就能夠保存 2.1 選擇方法 2.2 設置請求頭,參數數據后期我們通過配置設置就行 3、…

收銀一體化-億發2023智慧門店新零售營銷策略,實現全渠道運營

伴隨著互聯網電商行業的興起,以及用戶理念的改變,大量用戶從線下涌入線上,傳統的線下門店人流量急劇收縮,門店升級幾乎成為了每一個零售企業的發展之路。智慧門店新零售收銀解決方案是針對傳統零售企業面臨的諸多挑戰和問題&#…

Mathematica 與 Matlab 常見復雜指令集匯編

Mathematica 常見指令匯編 Mathematica 常見指令 NDSolve 求解結果的保存 sol NDSolve[{y[x] x^2, y[0] 0, g[x] -y[x]^2, g[0] 1}, {y, g}, {x, 0, 1}]; numericSoly sol[[1, 1, 2]]; numericSolg sol[[1, 2, 2]]; data Table[{x, numericSoly[x], numericSolg[x]},…

JVM——類加載器

回顧一下類加載過程 類加載過程:加載->連接->初始化。連接過程又可分為三步:驗證->準備->解析。 一個非數組類的加載階段(加載階段獲取類的二進制字節流的動作)是可控性最強的階段,這一步我們可以去完成還可以自定義…

【計算機網絡篇】UDP協議

?作者簡介:大家好,我是小楊 📃個人主頁:「小楊」的csdn博客 🐳希望大家多多支持🥰一起進步呀! UDP協議 1,UDP 簡介 UDP(User Datagram Protocol)是一種無連…

Flink學習筆記(一)

流處理 批處理應用于有界數據流的處理,流處理則應用于無界數據流的處理。 有界數據流:輸入數據有明確的開始和結束。 無界數據流:輸入數據沒有明確的開始和結束,或者說數據是無限的,數據通常會隨著時間變化而更新。 在…

Kaptcha的基本應用

Kaptcha Kaptcha 是一個用于生成和驗證驗證碼的 Java 庫,提供了豐富的生成和驗證功能,并支持自定義配置。它可以用于增加應用程序的安全性,防止機器人和惡意攻擊。 Kaptcha 可以生成各種類型的驗證碼,包括數字、字母、數字字母組…

KDD 2023 獲獎論文公布,港中文、港科大等獲最佳論文獎

ACM SIGKDD(國際數據挖掘與知識發現大會,KDD)是數據挖掘領域歷史最悠久、規模最大的國際頂級學術會議,也是首個引入大數據、數據科學、預測分析、眾包等概念的會議。 今年,第29屆 KDD 大會于上周在美國加州長灘圓滿結…

HTTP--Request詳解

請求消息數據格式 請求行 請求方式 請求url 請求協議/版本 GET /login.html HTTP/1.1 請求頭 客戶端瀏覽器告訴服務器一些信息 請求頭名稱: 請求頭值 常見的請求頭: User-Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本信息 可…

藍橋杯每日N題 (消滅老鼠)

大家好 我是寸鐵 希望這篇題解對你有用,麻煩動動手指點個贊或關注,感謝您的關注 不清楚藍橋杯考什么的點點下方👇 考點秘籍 想背純享模版的伙伴們點點下方👇 藍橋杯省一你一定不能錯過的模板大全(第一期) 藍橋杯省一你一定不…

【日常積累】HTTP和HTTPS的區別

背景 在運維面試中,經常會遇到面試官提問http和https的區別,今天咱們先來簡單了解一下。 超文本傳輸協議HTTP被用于在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果…

09- DMA(DirectMemoryAccess直接存儲器訪問)

DMA 09 、DMA(DirectMemoryAccess直接存儲器訪問)DMA配置流程 09 、DMA(DirectMemoryAccess直接存儲器訪問) DMA配置流程 dma.c文件 main.c文件 詳見《stm32中文參考手冊》表57。