Erstmal Danke dafür.
Folgende Variante funktioniert.
AutoIt
#RequireAdmin
#include <File.au3>
#include <Symlink.au3>
$quelle="D:\Test\quelle\abc\123"
$ziel="D:\Test\ziel\def\"
$pfad_relativ=_PathGetRelative($ziel, $quelle)
;MsgBox(0,"Var","Relativ: " & $pfad_relativ & @LF & "Quelle: " & $quelle & @LF & "Ziel: " & $ziel)
ConsoleWrite("Relativ: : " & $pfad_relativ & @CRLF)
ConsoleWrite("Quelle: : " & $quelle & @CRLF)
ConsoleWrite("Ziel : " & $ziel & @CRLF & @CRLF)
if FileExists($quelle) Then
;FileCreateShortcut($pfad_relativ, $ziel)
;ShellExecute("cmd", "mklink /D " & $ziel & " " & $pfad_relativ)
Run(@ComSpec & ' /k ' & "mklink /D " & $ziel & "123" & " " & $pfad_relativ, "", @SW_HIDE)
;_SymLink( $ziel, $pfad_relativ, 1)
Else
MsgBox(0,"Error", "Pfad existiert nicht: " & $quelle)
EndIf
Alles anzeigen
mklink benötigt für das erstellen von symbolischen Links "Adminrechte" . Die klassischen Hardlinks (wie FileCreateShortcut sie macht) benötigen absolute Pfade.
Nun ist die Frage wie ich das möglichst bequem in das Kontextmenü bekomme und die entsprechenden Übergabeparameter daraus auslese.
Ideen?
Gruß Cornelius