【LabVIEW開發(fā)】如何使用LabVIEW自動刪除數(shù)據(jù)文件骄呼?

渡盡劫波兄弟在浪汪,相逢一笑泯恩仇

一惰拱、簡介

??我在上一篇如何使用LabVIEW自動保存數(shù)據(jù)雌贱?的文章中介紹了怎樣使用labview自動保存下位機(jī)發(fā)送到上位機(jī)的數(shù)據(jù),這些需要保存的數(shù)據(jù)都存儲在特定格式的文件中偿短,當(dāng)我們需要查詢這些試驗(yàn)數(shù)據(jù)時欣孤,直接讀取這些數(shù)據(jù)文件就能看到,還可以將這些數(shù)據(jù)另存為word或PDF文件昔逗。
??但是降传,我們還有一個問題需要解決:當(dāng)電腦硬盤中的數(shù)據(jù)越存越多的時候,遲早會把硬盤撐爆勾怒,導(dǎo)致新數(shù)據(jù)無法存儲婆排、電腦運(yùn)行速度變慢、卡頓等各種問題笔链。所以段只,適當(dāng)刪除時間比較久遠(yuǎn)的數(shù)據(jù),清理內(nèi)存是很有必要的鉴扫。手動刪除舊數(shù)據(jù)是可行的赞枕,但是在現(xiàn)今智能化越來越普及、越來越追求高效率的大趨勢下坪创,上位機(jī)自動刪除數(shù)據(jù)文件就應(yīng)該成為一項(xiàng)標(biāo)配功能炕婶。
??接下來我將介紹使用LabVIEW自動刪除文件的方法,這個方法完全是我閉門造車想出來的莱预,屬于一家之言柠掂,如果大家還有更好的方法,歡迎批評指正依沮。

二涯贞、實(shí)戰(zhàn)練習(xí)

??我的開發(fā)環(huán)境:Windows10(64bit)、LabVIEW2017

1悉抵、 編程思路

??自動刪除文件肩狂,首先要明確一個問題摘完,就是如何識別需要刪除的文件姥饰?一個文件最重要的兩個特征是文件名和后綴,只要識別了文件名孝治,基本上就可以鎖定這個文件列粪,然后才可以進(jìn)行自動刪除审磁。一般的數(shù)據(jù)文件都保存在一個固定路徑的文件夾中,那么我們就需要識別這個文件夾中的所有數(shù)據(jù)文件岂座,識別完以后态蒂,就是篩選文件,把符合刪除條件的文件篩選出來费什,將其刪除钾恢,不符合條件的文件繼續(xù)保留。
??這里就引出了第二個問題鸳址,如何篩選符合條件的文件瘩蚪?我在網(wǎng)上查了下,普通住宅小區(qū)的監(jiān)控視頻系統(tǒng)保存視頻文件的最長期限是一個月稿黍,也就是說你最多只能查到1個月前監(jiān)控錄像疹瘦,再早一點(diǎn)的文件都被自動刪除或者被新文件覆蓋。我個人覺得工控上位機(jī)傳輸?shù)臄?shù)據(jù)量一般都不是很大巡球,也沒有視頻文件那么占內(nèi)存言沐,刪除超過半年或者1年文件比較合適。當(dāng)然酣栈,具體問題具體分析险胰,文件究竟要保存多久,還是應(yīng)以實(shí)際應(yīng)用為準(zhǔn)矿筝,因?yàn)槊總€工控機(jī)硬盤的大小以及數(shù)據(jù)文件的大小都不一樣鸯乃。
??通過對以上兩個問題的分析,自動刪除文件的編程思路就很清晰了:讀取特定路徑文件夾中的所有文件的文件名跋涣,然后根據(jù)文件名判斷文件的創(chuàng)建時間缨睡,如果創(chuàng)建時間超過設(shè)定的時間(比如一年),就把該文件刪除陈辱,不滿足條件的保留下來奖年。
??那要如何根據(jù)文件名來判斷文件的創(chuàng)建時間呢?我在上一篇的LabVIEW自動保存數(shù)據(jù)的文章中沛贪,是以系統(tǒng)時間給數(shù)據(jù)文件命名的陋守,讀取了該文件的文件名,對文件名進(jìn)行處理利赋,就可以知道該文件是什么時候創(chuàng)建的水评。這時候可能有人要問了,為啥不直接讀取文件的創(chuàng)建時間呢媚送,Windows系統(tǒng)會自動記錄每一個文件的創(chuàng)建時間中燥,說實(shí)話我也覺得直接讀Windows系統(tǒng)記錄的創(chuàng)建時間最好,可是我不會啊塘偎。

2疗涉、實(shí)現(xiàn)過程

??LabVIEW中對應(yīng)的刪除文件的模塊在下圖所示的位置:


圖1 關(guān)鍵函數(shù)模塊位置

??在“高級文件函數(shù)”欄中拿霉,有“羅列文件夾”绽淘、“刪除”等需要用到的功能模塊闹伪。
??再來看下實(shí)現(xiàn)自動刪除文件的源程序,如下圖2所示:


圖2 自動刪除文件VI程序面板

??路徑我直接用“應(yīng)用程序目錄”模塊伦意,然后將目錄里的文件羅列出來,羅列模塊會輸出文件名硼补,還有文件夾名驮肉。我們只需要文件名,文件名是一個字符串已骇,由于我之前的文件都是以系統(tǒng)時間命名的离钝,時間格式為%Y-%m-%d %H'%M'%S,也就是說程序讀到的文件名是“2023-08-23 16‘36’20”這種類型的字符串褪储,我們只需要這個文件名中的年月日參數(shù)卵渴,時分秒沒有意義。
??然后以%Y-%m-%d格式讀取當(dāng)前的系統(tǒng)時間鲤竹,分別截取出兩個時間字符串?dāng)?shù)組年浪读、月、日數(shù)據(jù)碘橘,并將字符串轉(zhuǎn)換成數(shù)字,便于后面進(jìn)行加減乘除運(yùn)算吱肌。需要注意的是痘拆,年份占字符串?dāng)?shù)組4個元素,月份和日只占2個元素氮墨,中間的"-"占1個元素纺蛆。

??最后再用當(dāng)前時間的年數(shù)據(jù)減去文件名的年數(shù)據(jù)规揪,為換算成天數(shù)猛铅,差再乘以360天祥款;同理月份數(shù)據(jù)相減,差乘以30換成天數(shù)桨昙;日數(shù)據(jù)相減得到天數(shù)。最后將3個天數(shù)相加,得到數(shù)據(jù)文件建立的時間距離當(dāng)前時間有多少天阁危,這個計(jì)算出來的天數(shù)如果超過設(shè)定的天數(shù),就將對應(yīng)文件刪除趴乡,否則保留。
??程序中“應(yīng)用程序目錄”模塊的位置如下圖所示:


圖3 應(yīng)用程序目錄模塊位置

??整個程序的邏輯思路其實(shí)很簡單萤捆,理解了之后就很容易寫出來裙品。如果保存的數(shù)據(jù)文件不以系統(tǒng)時間命名,我這個程序就無法自動刪除文件俗或,還得另尋他法市怎。有更好思路的大佬可以分享出來,大家一起學(xué)習(xí)辛慰。

3区匠、結(jié)果

??本人實(shí)測,是可以將對應(yīng)文件夾中的以系統(tǒng)時間命名的文件刪除的,自動刪除文件的過程很短驰弄,不好錄制視頻麻汰,就不po圖了,感興趣的可以自己去試試戚篙。

三五鲫、小節(jié)

??1、這個刪除文件的程序不用放在while循環(huán)中岔擂,也就是說位喂,在軟件打開的時候運(yùn)行一次就夠了,因?yàn)樵趯?shí)際應(yīng)用中我們不需要一直刪除文件乱灵,其只用放在上位機(jī)主程序的while循環(huán)外面就行塑崖;
??2、在自動保存數(shù)據(jù)文件的時候痛倚,要用系統(tǒng)時間給文件命名规婆,否則本程序?qū)⑹В恢劣谌绾巫詣佑孟到y(tǒng)時間保存數(shù)據(jù)文件蝉稳,可以參考我上一篇文章聋呢;
??3、這個程序刪除文件的效果是徹底刪除颠区,回收站里是沒有對應(yīng)文件的削锰,數(shù)據(jù)無價(jià),在使用本程序的時候毕莱,最好先將重要數(shù)據(jù)文件復(fù)制備用一份器贩,再來做刪除試驗(yàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朋截,一起剝皮案震驚了整個濱河市蛹稍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌部服,老刑警劉巖唆姐,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異廓八,居然都是意外死亡奉芦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門剧蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來声功,“玉大人,你說我怎么就攤上這事宠叼∠劝停” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伸蚯。 經(jīng)常有香客問我摩渺,道長,這世上最難降的妖魔是什么剂邮? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任摇幻,我火速辦了婚禮,結(jié)果婚禮上抗斤,老公的妹妹穿的比我還像新娘囚企。我一直安慰自己丈咐,他們只是感情好瑞眼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棵逊,像睡著了一般伤疙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辆影,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天徒像,我揣著相機(jī)與錄音,去河邊找鬼蛙讥。 笑死锯蛀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的次慢。 我是一名探鬼主播旁涤,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼迫像!你這毒婦竟也來了劈愚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤闻妓,失蹤者是張志新(化名)和其女友劉穎菌羽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體由缆,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡注祖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了均唉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氓轰。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浸卦,靈堂內(nèi)的尸體忽然破棺而出署鸡,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布靴庆,位于F島的核電站时捌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炉抒。R本人自食惡果不足惜奢讨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焰薄。 院中可真熱鬧拿诸,春花似錦、人聲如沸塞茅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽野瘦。三九已至描沟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鞭光,已是汗流浹背吏廉。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惰许,地道東北人席覆。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像汹买,于是被迫代替她去往敵國和親佩伤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容