Menjalankan tautan simbolis ke exe - “Jalur yang ditentukan tidak ada”


19

Saat mencoba menjalankan tautan simbolis yang menunjuk ke file exe (pada Windows 7), jendela "Buka dengan" muncul. Ketika mengganti nama ke file ".exe", dikatakan "Path yang ditentukan tidak ada. Periksa path, dan kemudian coba lagi.". Symlink ke tujuan lain tampaknya berfungsi dengan baik.

Jadi apakah ada cara untuk menjalankan symlink?

EDIT: Di command prompt, saya menjalankan yang berikut dan MyProgram.exe berjalan dua kali. Namun, jika saya mengklik dua kali pada tautan simbolis di Windows Explorer gagal dengan pesan kesalahan di atas.

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

Pastikan symlink Anda mengarah ke tempat yang tepat - target relatif terhadap lokasi tautan, bukan ke direktori saat ini saat membuat tautan. (Ini sering menggigit * pengguna nix.)
grawity

@grawity: Tidak benar. Symlinks dapat menggunakan path absolut dan relatif pada * nix. Juga, ia menyebutkan Windows 7.
Kurt Pfeifle

@ Pipitas: Anda benar bahwa symlink dapat menggunakan jalur absolut (saya tidak pernah mengatakan sebaliknya), hanya saja orang sering menggunakan ln -s ../../foo somedir/bardan mendapatkan hal yang salah. || Symlinks bekerja dengan cara yang persis sama di * nix dan Windows.
grawity

Jawaban:


8

Karena satu-satunya jawaban lain tidak benar-benar "memperbaiki" masalah, cukup akui saja, saya pikir ada baiknya mengatakan saya memiliki masalah yang sama, dan menemukan masalahnya.

Masalah bagi saya adalah relatif vs symlink absolut . Saya menggunakan Link Shell Extension .

Saat membuat symlink absolut , Explorer berfungsi dengan baik. Saat membuat tautan relatif , Explorer tersedak.

Saya hanya bisa menebak bahwa ini entah bagaimana terkait dengan bagaimana Explorer menghitung direktori kerja? Mungkin beberapa masalah tebas?

(Perhatikan bahwa pada Win7 x64, setidaknya, Anda mungkin harus membuka LSEConfig.exe setelah menginstal ekstensi, dan beralih Absolute dan kemudian Relatif untuk mendapatkannya untuk membuat tautan relatif, karena konfigurasi default agak tidak dapat diprediksi, kadang relatif, kadang-kadang absolut .)


Saya sudah menginstal LSE tetapi di mana saya dapat menemukan LSEConfig.exe?
laggingreflex

Ah saya perlu menginstal versi terbaru. Itu tidak ada di sana sebelumnya.
laggingreflex

5
Tautan absolut tidak berfungsi lebih baik daripada tautan relatif untuk saya di Windows 7 32-bit. Setidaknya tidak ketika dibuat melalui mklink [absolutelink] [absolutetarget].
weberc2

5

Bekerja untuk saya ....

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

D:\Develop\DateTouch>foo.exe

Bagaimana Anda membuat tautan simbolis?


Edit :

masukkan deskripsi gambar di sini

  • Windows 7 Paket Layanan 1 diterapkan?
  • 64-bit?

Edit: saya melihat sebuah masalah:

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

Jadi pastikan file Anda benar-benar ada.


Sunting: saya pikir saya melihat masalah Anda :

  • itu diluncurkan dengan baik dari command prompt
  • gagal diluncurkan dari Windows Explorer :

masukkan deskripsi gambar di sini


Itulah tepatnya yang saya lakukan. "mklink foo.exe c: \ windows \ system32 \ notepad-exe" atau jika notepad ada di direktori saat ini "mklink foo2.exe notepad.exe". Saat mencoba membuka foo.exe atau foo2.exe, saya menerima pesan kesalahan. Perhatikan bahwa saya dapat membuka file dengan editor teks dengan mengganti ".exe" dengan ".txt", sehingga target symlink sudah benar.
basic6

1
YA, itu dia! Explorer suci menolak untuk menjalankan symlink, tetapi command prompt Windows dan manajer file lainnya seperti muCommander tidak. Itu memecahkan masalah saya - terima kasih!
basic6

4
Yah itu tidak menyelesaikan masalah; tetapi ini menjelaskan cara mereproduksinya. saya tidak dapat menemukan apa pun di monitor proses yang akan mengisyaratkan mengapa Explorer gagal meluncurkannya. saya bahkan menulis aplikasi dan panggilan ShellExecute, dan itu diluncurkan dengan baik.
Ian Boyd

1
Downvote karena kegagalan untuk mengatasi masalah yang sebenarnya.
weberc2

2

Cukup necro, tapi saya masih punya pertanyaan yang sama dan ini adalah satu-satunya yang menangani masalah ini.

Tapi ini solusinya! Jika "C: \ app.exe" memberi Anda kesulitan untuk tidak meluncurkan karena penjelajah, cukup buat "app.bat", dengan "C: \ app.exe" sebagai konten. Meluncurkan app.bat akan meluncurkan app.exe dari baris perintah.

Masalahnya adalah sekarang ia menjalankannya dari lokasi app.exe, jadi tautan relatif di .exe mungkin menimbulkan masalah sekarang, hanya program sederhana yang berfungsi. Anda masih dapat membuat .bat yang menuju ke lokasi target dan kemudian menjalankan .exe, tetapi kami bermil-mil dari "just a symlink".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.