การใช้งานลิงก์สัญลักษณ์ไปยัง exe -“ เส้นทางที่ระบุไม่มีอยู่”


19

เมื่อพยายามเรียกใช้ลิงก์สัญลักษณ์ซึ่งชี้ไปที่ไฟล์ exe (บน Windows 7) หน้าต่าง "Open with" จะปรากฏขึ้น เมื่อเปลี่ยนชื่อเป็นไฟล์ ".exe" จะมีข้อความระบุว่า "ไม่มีเส้นทางที่ระบุตรวจสอบเส้นทางแล้วลองอีกครั้ง" การเชื่อมโยงไปยังปลายทางอื่น ๆ นั้นใช้งานได้ดี

ดังนั้นจะมีวิธีดำเนินการ symlink หรือไม่

แก้ไข:ในพรอมต์คำสั่งฉันดำเนินการต่อไปนี้และ MyProgram.exe รันทั้งสองครั้ง อย่างไรก็ตามถ้าฉันดับเบิลคลิกที่ลิงค์สัญลักษณ์ใน Windows Explorer มันล้มเหลวด้วยข้อความแสดงข้อผิดพลาดข้างต้น

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

ตรวจสอบให้แน่ใจว่า symlink ของคุณชี้ไปยังตำแหน่งที่ถูกต้อง - เป้าหมายนั้นสัมพันธ์กับตำแหน่งของลิงก์ไม่ใช่ไปยังไดเรกทอรีปัจจุบันเมื่อสร้างลิงค์ (สิ่งนี้กัดผู้ใช้ * ระวังบ่อยๆ)
grawity

@grawity: ไม่เป็นความจริง Symlinks สามารถใช้เส้นทางสัมบูรณ์และเส้นทางสัมพัทธ์บน * ระวัง นอกจากนี้เขายังกล่าวถึง Windows 7
Kurt Pfeifle

@pipitas: คุณถูกต้องที่ symlink สามารถใช้เส้นทางที่แน่นอน (ฉันไม่เคยพูดอย่างนั้น) มันเป็นเพียงที่ผู้คนมักจะใช้ln -s ../../foo somedir/barและได้รับสิ่งที่ผิด || Symlinks ทำงานในลักษณะเดียวกันทั้งใน * nix และ Windows
grawity

คำตอบ:


8

เนื่องจากคำตอบอื่น ๆ เท่านั้นไม่ได้ "แก้ไข" ปัญหาเพียงรับทราบฉันคิดว่ามันคุ้มค่าที่จะบอกว่าฉันมีปัญหาเดียวกันนี้และค้นพบปัญหา

ปัญหาสำหรับฉันคือสัมพัทธ์ vs symlink แบบสัมบูรณ์ ผมใช้การเชื่อมโยงส่วนขยายเชลล์

เมื่อสร้างsymlink สัมบูรณ์ Explorer ทำงานได้ดี เมื่อสร้างลิงก์ที่เกี่ยวข้อง Explorer จะทำการเชื่อมโยงกับลิงค์นั้น

ฉันสามารถเดาได้ว่าสิ่งนี้เกี่ยวข้องกับวิธีที่ Explorer คำนวณไดเรกทอรีการทำงานหรือไม่ อาจมีปัญหาเกี่ยวกับการเฉือน?

(โปรดทราบว่าใน Win7 x64 อย่างน้อยคุณอาจต้องเปิด LSEConfig.exe หลังจากติดตั้งส่วนขยายและสลับสัมบูรณ์แล้วสัมพันธ์เพื่อทำให้ลิงก์สัมพัทธ์เนื่องจากการกำหนดค่าเริ่มต้นค่อนข้างคาดเดาไม่ได้บางครั้งก็ค่อนข้างแน่นอน .)


ฉันติดตั้ง LSE แล้ว แต่จะหา LSEConfig.exe ได้ที่ไหน
laggingreflex

อ่าฉันจำเป็นต้องติดตั้งเวอร์ชันล่าสุด มันไม่เคยมีมาก่อน
laggingreflex

5
ลิงก์แบบสัมบูรณ์ไม่ทำงานได้ดีไปกว่าลิงก์แบบสัมพัทธ์สำหรับฉันใน Windows 7 32 บิต อย่างน้อยไม่ทำเมื่อทำผ่าน mklink [absolutelink] [absolutetarget]
weberc2

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-bit?

แก้ไข:ฉันเห็นปัญหา:

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

ดังนั้นตรวจสอบให้แน่ใจว่าไฟล์ของคุณมีอยู่จริง


แก้ไข:ฉันคิดว่าฉันเห็นปัญหาของคุณ :

  • มันเริ่มต้นได้ดีจากพรอมต์คำสั่ง
  • มันล้มเหลวในการเปิดจากWindows Explorer :

ป้อนคำอธิบายรูปภาพที่นี่


นั่นคือสิ่งที่ฉันทำ "mklink foo.exe c: \ windows \ system32 \ notepad-exe" หรือหาก notepad อยู่ในไดเรกทอรีปัจจุบัน "mklink foo2.exe notepad.exe" เมื่อพยายามเปิด foo.exe หรือ foo2.exe ฉันได้รับข้อความแสดงข้อผิดพลาด โปรดทราบว่าฉันสามารถเปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความโดยแทนที่ ".exe" ด้วย ".txt" ดังนั้นเป้าหมายของ symlink นั้นถูกต้อง
พื้นฐาน 6

1
ใช่นั่นแหละ! Holy Explorer ปฏิเสธที่จะเรียกใช้งาน symlink แต่พรอมต์คำสั่ง Windows และตัวจัดการไฟล์อื่น ๆ เช่น muCommander จะไม่ทำเช่นนั้น นั่นช่วยแก้ปัญหาของฉัน - ขอบคุณ!
พื้นฐาน 6

4
ก็ไม่ได้แก้ปัญหา แต่มันอธิบายวิธีการทำซ้ำ ฉันไม่พบสิ่งใดในกระบวนการตรวจสอบที่จะบอกเป็นนัยว่าทำไม Explorer จึงไม่สามารถเปิดใช้งานได้ ฉันยังเขียนแอปพลิเคชั่นและการโทรShellExecuteและเปิดใช้งานได้ดี
Ian Boyd

1
Downvote สำหรับความล้มเหลวในการแก้ไขปัญหาจริง
weberc2

2

ค่อนข้าง necro แต่ฉันยังคงมีคำถามเดียวกันและนี่เป็นเพียงคนเดียวที่แก้ไขปัญหานี้

แต่นี่เป็นวิธีแก้ปัญหาของฉัน! หาก "C: \ app.exe" ทำให้คุณมีปัญหาในการไม่เปิดเนื่องจาก explorer เพียงแค่สร้าง "app.bat" โดยที่ "C: \ app.exe" เป็นเนื้อหา การเรียกใช้ app.bat จะเรียกใช้ app.exe จากบรรทัดคำสั่ง

ปัญหาคือตอนนี้มันดำเนินการจากตำแหน่งของ app.exe ดังนั้นลิงก์ที่เกี่ยวข้องใน. exe อาจทำให้เกิดปัญหาตอนนี้โปรแกรมที่ทำงานง่ายเท่านั้น คุณยังสามารถสร้าง. bat ที่ไปยังตำแหน่งเป้าหมายแล้วเรียกใช้. exe แต่เราอยู่ห่างจาก "just symlink" หลายไมล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.