Bu sitede bazı çok yararlı bilgiler var: http://ss64.com/nt/shortcut.html
shortcut.exe
Benim sahip olmadığım bazı kaynak setlerinde var gibi gözüküyor .
Diğer birçok sitenin dediği gibi, bir toplu iş dosyasından yapmanın yerleşik bir yolu yoktur.
Ancak bunu bir VB komut dosyasından yapabilirsiniz:
Aşağıdaki VBscript'teki isteğe bağlı bölümler yorumlanmıştır:
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
Eğer gerçekten Yani, eğer gerekir bunu, o zaman, senin toplu iş dosyası diske VB senaryo yazmaya yapmak onu çağırmak ve yeniden kaldırabilir. Örneğin, bunun gibi:
@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
Yukarıdaki betiğin çalıştırılması masaüstümdeki yeni bir kısayolla sonuçlandı:
İşte isimsiz bir katılımcıdan daha eksiksiz bir snippet (küçük bir düzeltme ile güncellendi):
@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