Thực hiện liên kết tượng trưng đến exe - Đường dẫn được chỉ định không tồn tại


19

Khi cố gắng thực hiện một liên kết tượng trưng trỏ đến tệp exe (trên Windows 7), cửa sổ "Mở bằng" xuất hiện. Khi đổi tên tệp thành tệp ".exe", thông báo "Đường dẫn đã chỉ định không tồn tại. Kiểm tra đường dẫn, rồi thử lại.". Symlinks đến các điểm đến khác dường như hoạt động tốt.

Vì vậy, có cách nào để thực hiện một liên kết tượng trưng?

EDIT: Trong dấu nhắc lệnh, tôi thực hiện như sau và MyProgram.exe chạy cả hai lần. Tuy nhiên, nếu tôi nhấp đúp vào liên kết tượng trưng trong Windows Explorer thì nó sẽ thất bại với thông báo lỗi ở trên.

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

Đảm bảo rằng các liên kết tượng trưng của bạn trỏ đến đúng nơi - mục tiêu có liên quan đến vị trí của liên kết, chứ không phải thư mục hiện tại khi tạo liên kết. (Điều này thường xuyên cắn người dùng nix.)
grawity

@grawity: Không đúng. Symlink có thể sử dụng đường dẫn tuyệt đối cũng như tương đối trên * nix. Ngoài ra, ông đã đề cập đến Windows 7.
Kurt Pfeifle

@pipitas: Bạn nói đúng rằng các liên kết tượng trưng có thể sử dụng các đường dẫn tuyệt đối (tôi không bao giờ nói khác), chỉ là mọi người thường sử dụng ln -s ../../foo somedir/barvà nhận được điều sai. | | Symlinks hoạt động chính xác theo cùng một cách trong cả * nix và Windows.
grawity

Câu trả lời:


8

Vì câu trả lời duy nhất khác không thực sự "khắc phục" vấn đề, chỉ cần thừa nhận nó, tôi nghĩ rằng đáng để nói rằng tôi có vấn đề tương tự, và đã phát hiện ra vấn đề.

Vấn đề đối với tôi là tương đối so với các liên kết tuyệt đối . Tôi sử dụng Link Shell Extension .

Khi tạo liên kết tuyệt đối , Explorer hoạt động tốt. Khi tạo các liên kết tương đối , Explorer sẽ bóp nghẹt chúng.

Tôi chỉ có thể đoán rằng điều này bằng cách nào đó liên quan đến cách Explorer tính toán thư mục làm việc? Có lẽ một số vấn đề gạch chéo?

. .)


Tôi đã cài đặt LSE nhưng tôi có thể tìm LSEConfig.exe ở đâu?
laggingreflex

Ah tôi cần phải cài đặt phiên bản mới nhất. Nó không có ở đó trước đây.
laggingreflex

5
Liên kết tuyệt đối không hoạt động tốt hơn bất kỳ liên kết tương đối nào đối với tôi trong Windows 7 32-bit. Ít nhất là không khi được thực hiện thông qua mklink [tuyệt đối] [nhắm mục tiêu tuyệt đối].
weberc2

5

Làm việc cho tôi ....

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

D:\Develop\DateTouch>foo.exe

Làm thế nào bạn đang tạo liên kết tượng trưng?


Chỉnh sửa :

nhập mô tả hình ảnh ở đây

  • Windows 7 Service Pack 1 được áp dụng?
  • 64-bit?

Chỉnh sửa: tôi thấy một vấn đề:

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

Vì vậy, hãy chắc chắn rằng tập tin của bạn thực sự tồn tại.


Chỉnh sửa: tôi nghĩ rằng tôi thấy vấn đề của bạn :

  • nó khởi chạy tốt từ một dấu nhắc lệnh
  • nó không khởi chạy được từ Windows Explorer :

nhập mô tả hình ảnh ở đây


Đó chính xác là những gì tôi đang làm. "mklink foo.exe c: \ windows \ system32 \ notepad-exe" hoặc nếu notepad nằm trong thư mục hiện tại "mklink foo2.exe notepad.exe". Khi cố gắng mở foo.exe hoặc foo2.exe, tôi nhận được thông báo lỗi. Lưu ý rằng tôi có thể mở các tệp bằng trình soạn thảo văn bản bằng cách thay thế ".exe" bằng ".txt", vì vậy mục tiêu của liên kết tượng trưng là chính xác.
bản6

1
CÓ, vậy thôi! Nhà thám hiểm thần thánh từ chối thực thi các liên kết tượng trưng, ​​nhưng dấu nhắc lệnh của Windows và các trình quản lý tệp khác như muCommander thì không. Điều đó giải quyết vấn đề của tôi - cảm ơn!
bản6

4
Vâng, nó không giải quyết vấn đề; nhưng nó giải thích làm thế nào để tái tạo nó. tôi không thể tìm thấy bất cứ điều gì trong trình giám sát quy trình có thể gợi ý tại sao Explorer không khởi chạy nó. tôi thậm chí đã viết một ứng dụng và gọi ShellExecute, và nó khởi chạy tốt.
Ian Boyd

1
Downvote cho thất bại để giải quyết vấn đề thực tế.
weberc2

2

Khá là một hoại tử, nhưng tôi vẫn có cùng một câu hỏi và đây là người duy nhất giải quyết vấn đề này.

Nhưng đây là cách giải quyết của tôi! Nếu "C: \ app.exe" gây rắc rối cho bạn vì không khởi chạy vì trình thám hiểm, chỉ cần tạo "app.bat", với "C: \ app.exe" làm nội dung. Khởi chạy app.bat sẽ khởi chạy app.exe từ dòng lệnh.

Vấn đề bây giờ là nó thực thi nó từ vị trí của app.exe, vì vậy các liên kết tương đối trong .exe có thể gây rắc rối ngay bây giờ, chỉ các chương trình đơn giản mới hoạt động. Bạn vẫn có thể tạo một .bat đi đến vị trí đích và sau đó chạy .exe, nhưng chúng ta cách "chỉ là một liên kết tượng trưng".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.