Esecuzione del collegamento simbolico a exe - "Il percorso specificato non esiste"


19

Quando si tenta di eseguire un collegamento simbolico che punta a un file exe (su Windows 7), viene visualizzata la finestra "Apri con". Quando lo rinomina in un file ".exe", dice "Il percorso specificato non esiste. Controlla il percorso, quindi riprova.". I collegamenti simbolici ad altre destinazioni sembrano funzionare bene.

Quindi c'è un modo per eseguire un collegamento simbolico?

EDIT: Nel prompt dei comandi, eseguo quanto segue e MyProgram.exe viene eseguito entrambe le volte. Tuttavia, se faccio doppio clic sul collegamento simbolico in Esplora risorse, il messaggio di errore sopra riportato non riesce.

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

Assicurati che i tuoi collegamenti simbolici puntino al posto giusto: la destinazione è relativa alla posizione del collegamento, non alla directory corrente durante la creazione di un collegamento. (Questo morde spesso gli utenti * nix.)
user1686

@grawity: non è vero. I collegamenti simbolici possono utilizzare percorsi assoluti e relativi su * nix. Inoltre, ha menzionato Windows 7.
Kurt Pfeifle,

@pipitas: hai ragione sul fatto che i symlink possono usare percorsi assoluti (non ho mai detto diversamente), è solo che le persone usano spesso ln -s ../../foo somedir/bare sbagliano. || I collegamenti simbolici funzionano esattamente allo stesso modo sia in * nix che in Windows.
user1686

Risposte:


8

Poiché l'unica altra risposta in realtà non "risolve" il problema, ma solo lo riconosce, penso che valga la pena dire che ho avuto lo stesso problema e ho scoperto il problema.

Il problema per me era relativo rispetto a symlink assoluti . Uso l' estensione Shell di collegamento .

Quando si creano collegamenti simbolici assoluti , Explorer funziona bene. Durante la creazione di collegamenti relativi , Explorer soffoca su di essi.

Posso solo immaginare che questo sia in qualche modo correlato a come Explorer calcola la directory di lavoro? Forse alcuni problemi di taglio?

(Si noti che su Win7 x64, almeno, potrebbe essere necessario aprire LSEConfig.exe dopo l'installazione dell'estensione e attivare Absolute e quindi Relative per ottenere collegamenti relativi, poiché la configurazione predefinita è alquanto imprevedibile, a volte relativa, a volte assoluta .)


Ho installato LSE ma dove posso trovare LSEConfig.exe?
laggingreflex,

Ah, dovevo installare l'ultima versione. Non c'era prima.
laggingreflex,

5
I collegamenti assoluti non funzionano meglio dei collegamenti relativi per me in Windows 7 a 32 bit. Almeno non quando realizzato tramite mklink [absolutelink] [absolutetarget].
weberc2,

5

Per me va bene....

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

D:\Develop\DateTouch>foo.exe

Come stai creando il link simbolico?


Modifica :

inserisci qui la descrizione dell'immagine

  • Windows 7 Service Pack 1 applicato?
  • 64-bit?

Modifica: vedo un problema:

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

Quindi assicurati che il tuo file esista effettivamente.


Modifica: penso di vedere il tuo problema:

  • si avvia bene da un prompt dei comandi
  • non si avvia da Esplora risorse :

inserisci qui la descrizione dell'immagine


Questo è esattamente quello che sto facendo. "mklink foo.exe c: \ windows \ system32 \ notepad-exe" o se il blocco note si trova nella directory corrente "mklink foo2.exe notepad.exe". Quando provo ad aprire foo.exe o foo2.exe, ricevo questo messaggio di errore. Nota che posso aprire i file con un editor di testo sostituendo ".exe" con ".txt", quindi la destinazione del link simbolico è corretta.
basic6

1
Sì è quello! Il santo Explorer rifiuta di eseguire i collegamenti simbolici, ma il prompt dei comandi di Windows e altri gestori di file come muCommander no. Questo risolve il mio problema - grazie!
basic6

4
Bene non risolve il problema; ma spiega come riprodurlo. non sono riuscito a trovare nulla nel monitor di processo che suggerirebbe perché Explorer non è riuscito ad avviarlo. ho anche scritto un'applicazione e una chiamata ShellExecute, e si avvia bene.
Ian Boyd,

1
Downvote per mancata risoluzione del problema reale.
weberc2,

2

Piuttosto un necro, ma avevo ancora la stessa domanda e questa era l'unica che affrontava questo problema.

Ma ecco la mia soluzione alternativa! Se "C: \ app.exe" ti dà problemi a non avviarsi a causa di explorer, crea "app.bat", con "C: \ app.exe" come contenuto. Avvio di app.bat avvierà app.exe dalla riga di comando.

Il problema è ora che lo esegue dalla posizione di app.exe, quindi i collegamenti relativi in ​​.exe ora possono dare problemi, funzionano solo programmi semplici. Puoi ancora creare un .bat che vada nella posizione di destinazione e quindi esegua il .exe, ma siamo a miglia da "solo un link simbolico".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.