Windows 7的
我使用生成了一个pdf转PDF使用C:/Program Files/wkhtmltopdf/bin
命令wkhtmltopdf http://google.co.uk google.pdf
来测试一下。
但是,google.pdf
在 Windows 资源管理器中不显示,运行中ls -l
显示,但运行dir
不显示...为什么文件会以这种方式不可见?
编辑
运行cat google.pdf
将 pdf 打印到终端
我还发现我可以将文件复制到另一个目录 - 与在新目录中复制文件存在完全相同的问题。
查看权限ls -l
-没有人有该 pdf 文件的执行权限。但我不知道这是否重要。这并不重要 - 我电脑上的其他 pdf 也有相同的权限集。
attrib google.pdf
C:/Program Files/wkhtmltopdf/bin 中的结果
attrib google.pdf
File not found - google.pdf
ls -l
C:/Program Files/wkhtmltopdf/bin 中的结果
total 64957
-rw-r--r-- 1 Admin Administ 305109 Jul 1 14:59 bbc.pdf
-rw-r--r-- 1 Admin Administ 30426 Jul 1 15:28 google.pdf
-rwxr-xr-x 1 Admin Administ 489773 Jun 17 10:54 libgcc_s_sjlj-1.dll
-rwxr-xr-x 1 Admin Administ 6762827 Jun 17 10:54 libstdc++-6.dll
-rwxr-xr-x 1 Admin Administ 243109 Jun 17 10:54 libwinpthread-1.dll
-rwxr-xr-x 1 Admin Administ 41729536 Jun 17 10:54 wkhtmltoimage.exe
-rwxr-xr-x 1 Admin Administ 41827328 Jun 17 10:53 wkhtmltopdf.exe
-rwxr-xr-x 1 Admin Administ 41639424 Jun 17 10:52 wkhtmltox.dll
答案1
假设属性设置正确(即文件未设置为“隐藏”或“系统”),这可能是非提升程序尝试写入的结果%程序文件%结构。
当未提升权限的程序尝试写入此目录结构时,它们最终将写入%LocalAppData%\VirtualStore.
例如,如果应用程序未提升程序尝试写信给C:\Program Files\Unelevated\file.txt,它实际上会写入C:\Users\Bob\AppData\Local\VirtualStore\Program Files\Unelevated\file.txt。
其他应用程序也可能最终位于 VirtualStore 位置,具体取决于它们是如何被编译的。
这可能是也可能不是在 MinGW 的更高版本中已修复。