为了使我的 latex 文件夹干净,我尝试使用以下 DOS 命令隐藏所有辅助文件:
attrib +S +H *.aux
......
attrib +S +H *.toc
xelatex
但是当我尝试再次编译我的 latex 文件时,pdflatex
在 MiKTeX 中出现了以下错误:
I can't write on file `somename.aux'.
是否可以启用辅助文件xelatex
并pdflatex
写入内容,而这些文件仍然保持隐藏?
顺便说一句:我不想将辅助文件放入其他文件夹,因为这样会导致其他问题。
答案1
看来 Windows 隐藏文件只能以读/写或附加模式打开,而不能以纯写模式打开。奇怪的是,我似乎找不到太多关于此的官方文档,但您可以使用代码或简单的 cmd.exe 脚本(我在 Windows 8.1 上运行过)自行测试:
C:\>echo "hello" > temp.aux
C:\>attrib +H temp.aux
C:\>echo "hello" >> temp.aux
C:\>echo "hello" > temp.aux
Access is denied.
使用 Procmon.exe 可以看到错误发生在pdflatex
尝试以写入模式打开 .aux 文件时。其他程序也有这个问题(我认为是 wordpad 和 GitHub 客户端,其中 .gitignore/.gitattributes 文件是隐藏的)。
最好的办法是将 PDF 编译调用与脚本中的隐藏和取消隐藏调用包装在一起。