引言

我們在使用latex時,每次生成pdf都會伴隨著*.aux *.log *.nav等文件的生成,非常幹擾我們的視線,每次都手動刪除又太麻煩,於是我們希望能用程序幫我們完成這一過程。

本文實現在windows10下的快捷刪除。達到這樣的效果:在tex所在文件夾中,單擊右鍵,點擊"Tex Delete"即自動刪除所有冗餘文件。效果如下

技術:python識別後綴名並刪除,設置.bat文件,並配置到註冊表中

python文件

python文件的編寫非常簡單,就是識別當前文件夾中,所有要刪除的後綴名,執行刪除文件命令,這裡就不多解釋了

import os
files = os.listdir(./)
del_suffix = [toc, vrb, aux, log, nav, out, snm, synctex.gz]
for file in files:
for suffix in del_suffix:
if file.endswith(suffix):
os.remove(file)

但是保存文件時要注意一點,我們保存成deltex.pyw而不是.py文件。其實保存成.py文件也是可以達到目的的,但是.pyw文件有一個好處:運行python代碼時不會彈出終端,在這種簡單任務上可以節省一點時間。

比如我們把deltex.pyw文件放在C:deltex目錄下(這個目錄可以任意指定,後面的代碼要跟著這裡修改)。

bat文件

C:deltex目錄下創建del.bat文件,內容為

pythonw C:deltexdeltex.pyw

其實我們就是把運行python文件的命令行命令放了進去。因為python文件是.pyw文件,所以前面是調用pythonw.exe來執行。

bat文件的功能:保存這個文件之後雙擊del.bat,就會自動在cmd中運行文件中的命令。如果要編輯文件中的內容,需要選擇打開方式,用文本編輯器打開。

reg文件

C:deltex目錄下創建del.reg文件,內容為

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTDirectoryBackgroundshellTex_Delete]
@="Tex Delete"

[HKEY_CLASSES_ROOTDirectoryBackgroundshellTex_Deletecommand]
@=""C:\deltex\del.bat" "%V""

這個reg文件的功能是:在註冊表的HKEY_CLASSES_ROOTDirectoryBackgroundshell這個路徑中,創建一個Tex_Delete文件夾,再在裡面創建command文件夾,command文件夾中指定一個鍵值對:("Tex Delete": C:\deltex\del.bat)

  • 有了這個鍵,則在任意文件夾中單擊右鍵,就會看到Tex Delete選項
  • 這個值表示,如果你點擊右鍵中的Tex Delete,就會運行這個bat文件
  • 而這個bat文件是什麼呢?就是運行python代碼,而python代碼就是取刪除那些文件

del.reg文件編輯完成後,保存後雙擊它,註冊表就配置成功,所有配置也就完成了。

這時你到一個文件夾中右鍵應該就能看到Tex_Delete選項,如果該文件夾中有目標文件,點擊這個選項應該就能將它們全部刪除。

專欄信息

專欄主頁:python編程

專欄目錄:目錄

版本說明:軟體及包版本說明


推薦閱讀:
相關文章