При попытке выполнить символическую ссылку, которая указывает на исполняемый файл (в 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
windows-7
symbolic-link
basic6
источник
источник
ln -s ../../foo somedir/bar
и получают неправильные вещи. || Симлинки работают одинаково как в * nix, так и в Windows.Ответы:
Поскольку единственный другой ответ на самом деле не «исправляет» проблему, а просто подтверждает ее, я думаю, стоит сказать, что у меня была такая же проблема, и я обнаружил проблему.
Вопрос для меня был родственником против абсолютных симлинок. Я использую Link Shell Extension .
При создании абсолютных символических ссылок, Explorer работает нормально. При создании относительных ссылок Explorer их подавляет.
Я могу только догадываться, что это как-то связано с тем, как Explorer вычисляет рабочий каталог? Может быть, проблемы со слешем?
(Обратите внимание, что на Win7 x64, по крайней мере, вам может потребоваться открыть LSEConfig.exe после установки расширения и переключить Absolute и затем Relative, чтобы заставить его создавать относительные ссылки, так как конфигурация по умолчанию несколько непредсказуема, иногда относительна, иногда абсолютна .)
источник
Работает для меня....
Как вы создаете символическую ссылку?
Редактировать :
Edit: я вижу в вопрос:
Поэтому убедитесь, что ваш файл действительно существует.
Изменить: я думаю, что я вижу вашу проблему:
источник
ShellExecute
, и он запускается нормально.Довольно некро, но у меня все еще был тот же вопрос, и это был единственный вопрос, посвященный этой проблеме.
Но вот мой обходной путь! Если «C: \ app.exe» создает проблемы с тем, что он не запускается из-за проводника, просто создайте «app.bat» с «C: \ app.exe» в качестве содержимого. Запуск app.bat запустит app.exe из командной строки.
Проблема в том, что теперь он выполняется из папки app.exe, поэтому относительные ссылки в .exe могут создавать проблемы, работают только простые программы. Вы все еще можете создать .bat, который отправляется в целевое местоположение, а затем запускает .exe, но тогда мы находимся в нескольких милях от «просто символической ссылки».
источник