web-dev-qa-db-ja.com

exeへのシンボリックリンクの実行-「指定されたパスは存在しません」

(Windows 7で)exeファイルを指すシンボリックリンクを実行しようとすると、[プログラムから開く]ウィンドウが表示されます。 「.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
19
basic6

他の唯一の答えは問題を実際に「修正」するのではなく、それを認めるだけなので、私が同じ問題を抱えていて問題を発見したと言っておく価値があると思います。

私にとっての問題は、relativeabsoluteシンボリックリンクでした。私は Link Shell Extension を使用しています。

absoluteシンボリックリンクを作成すると、エクスプローラーは正常に動作します。 relativeリンクを作成するとき、エクスプローラーはそれらをチョークします。

これは、エクスプローラーが作業ディレクトリを計算する方法に何らかの形で関連していると推測できますか?たぶんいくつかのスラッシュの問題?

(Win7 x64では、少なくとも、拡張機能のインストール後にLSEConfig.exeを開き、AbsoluteとRelativeを切り替えて相対リンクを作成する必要がある場合があることに注意してください。 。)

8
user73728

私のために働く....

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

D:\Develop\DateTouch>foo.exe

シンボリックリンクをどのように作成していますか?


編集

enter image description here

  • Windows 7 Service Pack 1が適用されましたか?
  • 64ビット?

編集:anの問題が表示されます:

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

したがって、ファイルが実際に存在することを確認してください。


編集:yourの問題が見えると思います:

  • コマンドプロンプトから正常に起動します
  • Windows Explorerからの起動に失敗します:

enter image description here

5
Ian Boyd

かなりネクロですが、私はまだ同じ質問をしていて、これがこの問題に対処する唯一のものでした。

しかし、これが私の回避策です!エクスプローラーが原因で「C:\ app.exe」が起動しない場合は、「C:\ app.exe」をコンテンツとして「app.bat」を作成してください。 app.batを起動すると、コマンドラインからapp.exeが起動します。

問題は、app.exeの場所から実行されるため、.exe内の相対リンクが問題を引き起こす可能性があり、単純なプログラムのみが機能するようになりました。ターゲットの場所に移動して.exeを実行する.batを作成することもできますが、その場合は「単なるシンボリックリンク」からは数マイル離れています。

2
Wolfzoon