Windows 符号链接和工作目录

Emi*_*ile 6 windows symbolic-link mklink

我有一个目录apps/myapp/myapp.exe其中包含一个文件,该文件使用myapp.dll了其他一些 dll。

现在假设我想将其符号链接到一个目录,就像在 linux 中所做的那样。

bin/myapp.exe=> verylongpath/myapp/myapp.exe。即使用mklink bin/myapp.exe verylongpath/bin/myapp.exe

现在,当我运行 myapp 时,它对我大喊大叫它找不到 dll。这意味着 exe 不是针对它自己的工作目录运行的。这让我很伤心。

有什么办法可以让它在 ints 自己的工作目录中运行吗?谢谢!

Ada*_*ean 1

您可能需要做的是符号链接包含应用程序二进制文件的文件夹,而不仅仅是 EXE 文件本身。在 Windows 中创建目录符号链接的最兼容的方法是使用它们的连接点。

使用这个命令:

mklink /J ..\link\target\dir linkdirname
Run Code Online (Sandbox Code Playgroud)

到目标的路径可以相对于当前位置。您不需要从驱动器号开始。

完成此操作后,您应该能够将 CD 插入您的链接目录名并正常运行您的应用程序。

仅供参考:您可以使用 /D 选项作为目录符号链接,但根据我的经验,我发现连接点的行为方式更好(并且更兼容)。有些应用程序不会被目录符号链接所愚弄,而是愉快地使用连接。例如,在 Steam 中,我可以使用连接点重新路由游戏文件夹,但不能使用目录符号链接。