执行到exe的符号链接-“指定的路径不存在”


19

尝试执行指向exe文件的符号链接时(在Windows 7上),将显示“打开方式”窗口。将其重命名为“ .exe”文件时,显示“指定的路径不存在。请检查该路径,然后重试。”。指向其他目标的符号链接似乎正常工作。

那么有什么方法可以执行符号链接?

编辑:在命令提示符下,我执行以下操作,并且MyProgram.exe都运行两次。但是,如果我双击Windows资源管理器中的符号链接,它将失败并显示以上错误消息。

C:\Temp>mklink SomeProgram.exe MyProgram.exe
symbolic link created for Backup.exe <<===>> Backup-1.0.1.exe

C:\Temp>SomeProgram.exe

C:\Temp>del SomeProgram.exe

C:\Temp>mklink SomeProgram.exe C:\Temp\MyProgram.exe
symbolic link created for Backup.exe <<===>> C:\Temp\Backup-1.0.1.exe

C:\Temp>SomeProgram.exe

确保符号链接指向正确的位置-目标相对于链接的位置,而不是创建链接时的当前目录。(这经常咬* nix用户。)
grawity 2011年

@grawity:不正确。符号链接可以在* nix上使用绝对路径和相对路径。此外,他还提到Windows 7的
库尔特Pfeifle

@pipitas:您是对的,符号链接可以使用绝对路径(我从未说过),这只是人们经常使用ln -s ../../foo somedir/bar并得到错误的东西。|| 在* nix和Windows中,符号链接的工作方式完全相同。
grawity 2011年

Answers:


8

由于唯一的其他答案并不能真正“解决”该问题,只是承认就可以了,我认为值得一提的是我遇到了同样的问题,并发现了问题。

对我来说,问题是相对符号链接与绝对符号链接。我使用Link Shell Extension

创建绝对符号链接时,资源管理器可以正常工作。创建相对链接时,资源管理器会阻塞它们。

我只能猜测这与资源管理器如何计算工作目录有关?也许有一些斜线问题?

(请注意,至少在Win7 x64上,您可能必须在安装扩展名后打开LSEConfig.exe,然后依次切换“绝对”和“相对”以使其建立相对链接,因为默认配置有些不可预测,有时是相对的,有时是绝对的)


我已经安装了LSE,但是在哪里可以找到LSEConfig.exe?
laggingreflex 2012年

啊,我需要安装最新版本。以前不在那里。
laggingreflex 2012年

5
在Windows 7 32位环境下,绝对链接对我来说没有比相对链接更好的工作。至少不是通过mklink [absolutelink] [absolutetarget]生成的。
weberc2 2012年

5

为我工作。

D:\Develop\DateTouch>mklink foo.exe TouchDate.exe
symbolic link created for foo.exe <<===>> TouchDate.exe

D:\Develop\DateTouch>foo.exe

您如何创建符号链接?


编辑

在此处输入图片说明

  • Windows 7 Service Pack 1是否已应用?
  • 64位?

编辑:我看到一个问题:

C:\Users\ian.AVATOPIA>mklink foo4.exe c:\asdfasdf\adfasdf.exe
symbolic link created for foo4.exe <<===>> c:\asdfasdf\adfasdf.exe

因此,请确保您的文件确实存在。


编辑:我想我看到你的问题:

  • 它从命令提示符启动正常
  • 它无法从Windows资源管理器启动:

在此处输入图片说明


那正是我在做什么。“ mklink foo.exe c:\ windows \ system32 \ notepad-exe”或如果记事本在当前目录中“ mklink foo2.exe notepad.exe”。尝试打开foo.exe或foo2.exe时,出现错误消息。请注意,我可以用文本编辑器打开文件,方法是将“ .exe”替换为“ .txt”,因此符号链接的目标是正确的。
basic6 2011年

1
对,就是那样!神圣的资源管理器拒绝执行符号链接,但是Windows命令提示符和其他文件管理器(如muCommander)则不执行。那解决了我的问题-谢谢!
basic6 2011年

4
好吧,这并不能解决问题。但它说明了如何复制它。我在进程监视器中找不到任何东西可以暗示为什么Explorer无法启动它。我什至编写了一个应用程序并致电ShellExecute,它启动正常。
伊恩·博伊德

1
未能投票解决实际问题。
weberc2 2012年

2

很坏,但是我仍然有同样的问题,这是唯一解决这个问题的人。

但是,这是我的解决方法!如果“ C:\ app.exe”使您因为资源管理器而无法启动,则只需创建“ app.bat”,并以“ C:\ app.exe”作为内容即可。启动app.bat将从命令行启动app.exe。

现在的问题是,它是从app.exe的位置执行它的,因此.exe中的相对链接现在可能会带来麻烦,只有简单的程序才能工作。您仍然可以制作一个.bat,然后转到目标位置,然后运行.exe,但是距离“仅符号链接”相距甚远。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.