2012-02-20 18:24:10 +0000 2012-02-20 18:24:10 +0000
81
81
Advertisement

Wie kann ich eine Verknüpfung von CMD erstellen?

Advertisement

Wie kann ich eine Verknüpfungsdatei (.lnk) zu einer anderen Datei oder einer ausführbaren Datei mit Hilfe von Befehlszeilen-Dienstprogrammen erstellen?

Advertisement

Antworten (8)

56
56
56
2012-02-20 20:06:04 +0000

Es gibt einige sehr nützliche Informationen auf dieser Website: http://ss64.com/nt/shortcut.html

Scheint, als gäbe es einige shortcut.exe in einem Resource-Kit, die ich nicht habe. Wie viele andere Sites erwähnen, gibt es keine eingebaute Möglichkeit, dies von einer Batch-Datei aus zu tun.

Aber Sie können es von einem VB-Skript aus tun:

Optionale Abschnitte im VBscript unten sind auskommentiert:

Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\MyShortcut.LNK"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "C:\Program Files\MyApp\MyProgram.EXE"
' oLink.Arguments = ""
' oLink.Description = "MyProgram"   
' oLink.HotKey = "ALT+CTRL+F"
' oLink.IconLocation = "C:\Program Files\MyApp\MyProgram.EXE, 2"
' oLink.WindowStyle = "1"   
' oLink.WorkingDirectory = "C:\Program Files\MyApp"
oLink.Save

Wenn Sie es also wirklich müssen, dann könnten Sie Ihre Batch-Datei dazu bringen, das VB-Skript auf die Festplatte zu schreiben, es aufzurufen und dann wieder zu entfernen. Zum Beispiel so:

@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%HOMEDRIVE%%HOMEPATH%\Desktop\Hello.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs

Das Ausführen des obigen Skripts führt zu einer neuen Verknüpfung auf meinem Desktop:

Hier ist ein vollständigerer Ausschnitt von einem anonymen Beitragenden (aktualisiert mit einem kleinen Fix):

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=Hello
SET Esc_LinkDest=%%HOMEDRIVE%%%%HOMEPATH%%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=%%SYSTEMROOT%%\notepad.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
  echo Set oWS = WScript.CreateObject^("WScript.Shell"^) 
  echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
  echo Set oLink = oWS.CreateShortcut^(sLinkFile^) 
  echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
  echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
24
24
24
2014-11-06 18:05:38 +0000

Hier ist eine ähnliche Lösung unter Verwendung von Powershell (ich weiß, Sie können wahrscheinlich Ihre gesamte Batch-Datei in PS neu schreiben, aber wenn Sie sie einfach nur holen wollen Done™…)

set TARGET='D:\Temp'
set SHORTCUT='C:\Temp\test.lnk'
set PWS=powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile

%PWS% -Command "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut(%SHORTCUT%); $S.TargetPath = %TARGET%; $S.Save()"

Sie müssen vielleicht explizit den Pfad zu PS in Ihrer Datei angeben, aber es sollte funktionieren. Es gibt einige zusätzliche Attribute, die Sie auch durch dieses Objekt mangeln können:

Name MemberType Definition                             
---- ---------- ----------                             
Load Method void Load (string)                     
Save Method void Save ()                           
Arguments Property string Arguments () {get} {set}        
Description Property string Description () {get} {set}      
FullName Property string FullName () {get}               
Hotkey Property string Hotkey () {get} {set}           
IconLocation Property string IconLocation () {get} {set}     
RelativePath Property string RelativePath () {set}           
TargetPath Property string TargetPath () {get} {set}       
WindowStyle Property int WindowStyle () {get} {set}         
WorkingDirectory Property string WorkingDirectory () {get} {set}
17
Advertisement
17
17
2013-09-30 23:24:55 +0000

Neben shortcut.exe können Sie auch die Befehlszeilenversion von NirCmd verwenden, um eine Verknüpfung zu erstellen http://nircmd.nirsoft.net/shortcut.html

12
12
12
2014-04-24 16:26:05 +0000

Wie wäre es mit dem Befehl mklink ? C:\Windows\System32>mklink Erstellt einen symbolischen Link.

MKLINK [[/D] | [/H] | [/J]] Link Ziel

/D Creates a directory symbolic link. Default is a file
            symbolic link.
    /H Creates a hard link instead of a symbolic link.
    /J Creates a Directory Junction.
    Link specifies the new symbolic link name.
    Target specifies the path (relative or absolute) that the new link
            refers to.
7
Advertisement
7
7
2012-02-20 18:42:56 +0000

Nach all den Diskussionen, die wir hier geführt haben, ist dies mein Lösungsvorschlag: Download: http://optimumx.com/download/Shortcut.zip extrahieren Sie ihn auf Ihren Desktop (zum Beispiel). Nehmen wir nun an, Sie wollen eine Verknüpfung für eine Datei namens scrum.pdf (ebenfalls auf dem Desktop) erstellen: 1. öffnen Sie CMD und gehen Sie zum Desktop-Ordner 2. führen Sie aus: Shortcut.exe /f:"%USERPROFILE%\Desktop\sc.lnk" /a:c /t:%USERPROFILE%\Desktop\scrum.pdf

es wird eine Verknüpfung namens sc.lnk auf Ihrem Desktop erstellt, die auf die Originaldatei (scrum.pdf) verweist

0
0
0
2015-07-21 15:01:08 +0000

Ich weiß, dass dieses Thema alt ist, aber ich wollte die einfache Lösung anbieten, die für mich funktionierte.

kopierte ich zuerst die .ico-Datei auf mein Laufwerk C:. Dann erstellte ich die Verknüpfung auf meinem Desktop und setzte das Symbol auf die .ico-Datei auf meinem Laufwerk C:. Dann kopierte ich sowohl die .ico-Datei als auch die Verknüpfung auf eine Netzwerkfreigabe, auf die meine Benutzer Zugriff haben. Dort schrieb ich dann die folgende Batch-Datei, um die ico und .url auf den Windows 7-Desktop des Benutzers zu kopieren. Dadurch wird die Verknüpfung auf dem Desktop aller Benutzer erstellt und die Symboldatei, die ich bei der Erstellung der Verknüpfung festgelegt hatte, bleibt erhalten. Ich hoffe, dies hilft jemandem.

@echo off
Copy "\sharename\folder\icon.ico" "C:\"
pause
copy "\sharename\folder\shortcut.url" "C:\Users\All Users\Desktop"
pause
0
Advertisement
0
0
2015-04-12 19:14:32 +0000

Dieses kostenlose Programm hat die erforderliche Funktionalität http://www.nirsoft.net/utils/nircmd2.html : (Beispiel von besagter Webseite)"Create a shortcut to Windows calculator under Start Menu->Programs->Calculators nircmd.exe shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"

Mein eigenes Beispiel zum Ausprobieren: nircmd.exe-Verknüpfung “c:\windows\system32\calc.exe” “~$folder.desktop$” “Windows-Rechner”.

0
0
0
2020-01-24 16:58:48 +0000
Advertisement