出于同样的原因,我刚刚重新安装了 MiKTeX,当我尝试启动控制台时,出现以下消息提示:
“MiKTeX 无法检索目录‘G:\USER\program\Instaled\Movies\ffmpeg-20190604-d81913e-win64-static\bin’的属性。”
细节:
以下是屏幕截图:https://i.stack.imgur.com/Ud4og.jpg
为了澄清“用户”是我兄弟的会话,我们共享同一台机器,我们在 Windows 10 上
PC规格:CPU:i7-4790K 4.00GHz RAM:16GB GPU:NVIDIA GeForce Asus 1080Ti
答案1
操作系统(Windows 10)的环境变量中有一个名为“PATH”的条目“G:\USER\program\Instaled\Movies\ffmpeg-20190604-d81913e-win64-static\bin”。
“PATH” 是一个系统范围的变量,它列出了操作系统应在其中搜索可执行文件的所有目录/文件夹,以防在调用该可执行文件时仅提供该可执行文件的名称而不是文件路径,例如通过命令行/shell/shell-script/batch-file/ini-script/whatsoever。
许多不严格的程序会触发操作系统尝试搜索(并由此访问)“PATH”变量中列出的所有目录/文件夹,以便使用或查找其他方提供的可执行文件的存在。
MiKTeX 安装程序也是如此。
(但是,在很多情况下,不需要搜索“PATH”变量中列出的所有目录/文件夹,只要访问/搜索“PATH”变量中列出的特定文件夹/条目就足够了。 顺便说一下,现在我使用这个“PATH”来解决安全问题。)
如果由于其引用的卷被加密和锁定,和/或由于所讨论的文件夹/目录不再存在而无法访问/搜索“PATH”变量中列出的目录/文件夹,则此类尝试会触发错误消息。
在您的系统中,安装程序时,条目“G:\USER\program\Instaled\Movies\ffmpeg-20190604-d81913e-win64-static\bin”已添加到环境变量“PATH”中ffmpeg在当时分配了驱动器号“G:”的卷中。(ffmpeg是“用于录制、转换和传输音频和视频的完整跨平台解决方案”。)
也许安装程序ffmpeg在卷“G:”中发生这种情况很久以前,在尝试安装 MiKTeX 之前,并且在将使用 bitlocker 加密的驱动器/卷“G:”连接到系统之前。
目前卷“G:”已被bitlocker加密。
如果程序ffmpeg不再安装在系统中,并且环境变量中的条目是由于不正确的卸载程序而残留的,只需从环境变量 PATH 中手动删除该条目即可。
如果程序ffmpeg仍安装在系统中,位于卷“G:”上的上述目录中,那么只要“G:”被锁定/未解锁,该程序就无法使用,因此无法访问。
因此,在这种情况下,我建议(暂时)解锁卷“G:”并卸载 ffmpeg,从而确保从 PATH 变量中删除该条目,并在系统启动时将 ffmpeg 安装在不受 bitlocker 影响或解锁的卷中。
无论如何,如果从环境变量“PATH”中删除了表示现在加密的“G:\...”的条目,那么执行 MiKTeX 将不会导致(触发错误消息)尝试访问(不再存在的?)目录/文件夹“G:\USER\program\Instaled\Movies\ffmpeg-20190604-d81913e-win64-static\bin”在锁定卷“G:”上,同时(无论出于何种原因)搜索/检查/尝试访问“PATH”变量中列出的每个目录/文件夹。
以下是有关在 Windows 10 中手动编辑环境变量(例如“PATH”变量)的教程链接:
https://superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10