Verknüpfung über Konsole erstellen

  • Hallo,
    ich möchte ich kleine Batch-Datei schreiben, die ein Netzlaufwerk verbindet und anschließend dann eine Verknüpfung zu diesem Netzlaufwerk auf dem Dekstop erstellt.

    Mit net use ist ja schonmal das Netzlaufwerk kein Problem, aber wie erstelle ich die Verknüpfung? Kenn sich damit jemand aus?

  • Meines Wissens lassen sich Verknüpfungen leider nicht einfach so erstellen. Zu Windows-98-Zeiten (als ich noch Batch programmiert habe) hat man als Workaround einfach .url-Dateien gemacht (ggf. file:///X:/ als URL oder so angeben), weil .url-Dateien Textdateien sind, aber fast wie Verknüpfungen funktionieren.

    Nachtrag: Jap, folgendes als Textdatei mit Endung .url abspeichern funktioniert unter XP noch (inkl. Netzlaufwerk-Symbol):

    Code
    [InternetShortcut]
    URL=file:///c:/
    IconIndex=9
    IconFile=%SystemRoot%\system32\SHELL32.dll

    Für das Dateiformat siehe: An Unofficial Guide to the URL File Format - File Structures and Programming Information - cyAnwerks Computing Articles

  • Jo, geht für eine „echte“ binärformatige Verknüpfung wohl nicht anders als eine Skriptsprache zu bemühen.
    Eben zum Beispiel mit

    Code
    set WshShell = WScript.CreateObject("WScript.Shell")
    strDesktop = WshShell.SpecialFolders("Desktop")
    set oShellLink = WshShell.CreateShortcut(strDesktop & "\Beispiel.lnk")
    oShellLink.TargetPath = "C:\banana.png"
    oShellLink.WindowStyle = 1
    oShellLink.Hotkey = "CTRL+SHIFT+F"
    oShellLink.IconLocation = "b1.exe, 0"
    oShellLink.Description = "Shortcut Script"
    oShellLink.WorkingDirectory = strDesktop
    oShellLink.Save

    … wo man ggf. noch einen Parser für Kommandozeilen-Argumente herumbasteln müsste, bzw. unter AutoIt:

    Code
    FileCreateShortcut ( "file", "lnk" [, "workdir" [, "args" [, "desc" [, "icon" [,  "hotkey" [, icon number [, state]]]]]]] )

    … wo die Parameter dieselbe Bedeutung wie oben haben.

    Auch wenns mich gerade wurmt, dass man das scheinbar ohne Weiteres nicht auch mit bloßen API-Aufrufen, die man per rundll32 absetzen könnte, erledigen kann.

  • Ui hätte nicht gedacht, dass das so kompliziert ist.
    Aber ich habe ein tool gefunden (Shortcut.exe), mit dem man das auch relativ einfach machen kann. Ist zwar nicht nativ aber naja..

    Trotzdem danke für eure Antworten :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!