1
目 標(biāo) 場(chǎng) 景
用過(guò) Mac OS 的朋友應(yīng)該都遇到過(guò),日常的文件操作會(huì)在同級(jí)目錄下產(chǎn)生一些特定的臨時(shí)文件。
平常將文件夾打包成壓縮包或拷貝文件夾到移動(dòng)硬盤內(nèi),臨時(shí)文件會(huì)包含在里面,如果是程序源代碼,在 Windows 系統(tǒng)下編譯有時(shí)候還會(huì)受到影響。
本篇文章的目的是在移動(dòng)硬盤插入到電腦的同時(shí),利用 **Python 自動(dòng)化和 Windows 服務(wù) **刪除掉這些臨時(shí)文件。
2
編 寫 代 碼
首先,我們需要循環(huán)檢測(cè) PC 的驅(qū)動(dòng)器,判斷是否存在 可移動(dòng)的磁盤 。
# 循環(huán)遍歷,對(duì)每一個(gè)驅(qū)動(dòng)器進(jìn)行判斷
while True:
for item in disk_partitions():
if 'removable' in item.opts:
driver, opts = item.device, item.opts
# 刪除臨時(shí)文件
pass
break
else:
continue
# 休眠5s,繼續(xù)遍歷
sleep(5)
如果檢測(cè)到存在可移動(dòng)的磁盤,就遍歷文件,刪除 Mac 臨時(shí)文件。
def remove_all_file(filepath, file_name):
"""
刪除 MAC 臨時(shí)文件
:param file_name:
:return:
"""
for root, dirs, files in os.walk(filepath):
for name in files:
print(name)
if name.startswith("._") or name == file_name:
os.remove(os.path.join(root, name))
接著,我們利用 pyinstaller 將 Python 文件打包成 Exe 可執(zhí)行文件。
# 安裝 pyinstaller
pip3 install pyinstaller
# 把 py 文件打包成 exe 可執(zhí)行文件
# 圖標(biāo):img.ico
pyinstaller -F -i img.ico del_mac_files.py
為了保證程序一直在后臺(tái)運(yùn)行,我們需要?jiǎng)?chuàng)建一個(gè) 系統(tǒng)服務(wù) ,讓將可執(zhí)行文件一直在后臺(tái)執(zhí)行。
instsrv.exe 和 srvany.exe 這兩個(gè)文件可以非常方便的創(chuàng)建系統(tǒng)服務(wù)。其中,instsrv.exe 用于創(chuàng)建、刪除服務(wù);srvany.exe 用于保障服務(wù)能正常啟動(dòng)。
# 注冊(cè)服務(wù)
# instsrv.exe 服務(wù)名 srvany.exe
c:instsrv.exe del_mac_tempfile c:srvany.exe
需要注意的是,運(yùn)行注冊(cè)服務(wù)命令時(shí), 需要以管理員權(quán)限運(yùn)行 CMD 來(lái)執(zhí)行 。
注冊(cè)完服務(wù)之后,還需要通過(guò)注冊(cè)表把服務(wù)和可執(zhí)行程序關(guān)聯(lián)起來(lái)。
# 注冊(cè)表服務(wù)的目錄
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
在注冊(cè)表中找到上面創(chuàng)建的服務(wù) ,新建一個(gè) Parameters 的項(xiàng),在項(xiàng)內(nèi)再創(chuàng)建兩個(gè)字符串,分別指向可執(zhí)行文件和可執(zhí)行文件的完整目錄。
最后,services.msc 命令打開服務(wù)管理,找到目標(biāo)服務(wù), 設(shè)置允許服務(wù)和桌面交互 ,設(shè)置開啟服務(wù)并設(shè)置為自啟。
3
結(jié) 果 結(jié) 論
通過(guò)以上注冊(cè)的服務(wù),每次插入移動(dòng)硬盤,都會(huì)自動(dòng)去遍歷移動(dòng)硬盤盤的文件,查找 Mac 臨時(shí)文件并刪除。
-
硬盤
+關(guān)注
關(guān)注
3文章
1317瀏覽量
57429 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3567瀏覽量
89129 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5620瀏覽量
79532 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
84955
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論