Introduction:
在使用texlive时,每一次编译都会产生*.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文件,好处是不会弹出丑陋的黑色命令框。
这里我把deltex.pyw放置到C:\texlive\2020路径下,你们可以随意,只是后面的代码要同步路径。
编写bat文件
在C:\texlive\2020目录下,创建 del.bat文件,内容为:
pythonw C:\deltex\deltex.pyw
bat文件的功能:保存这个文件之后双击del.bat,就会自动在cmd中运行文件中的命令。如果要编辑文件中的内容,需要选择打开方式,用文本编辑器打开。
编写reg文件
在C:\texlive\2020文件夹下创建del.reg文件,内容为:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Tex_Delete]
@="Tex Delete"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Tex_Delete\command]
@="\"C:\\texlive\\2020\\del.bat\" \"%V\""
保存后双击,注册表就配置成功了,所有配置完成,你可以右键点击Tex_Delete选项,删除那些多余的中间文件了。