इस साइट पर कुछ बहुत उपयोगी जानकारी है: http://ss64.com/nt/shortcut.html
ऐसा लगता है कि shortcut.exe
कुछ संसाधन किट में कुछ है जो मेरे पास नहीं है।
जैसा कि कई अन्य साइटों का उल्लेख है, बैच फ़ाइल से इसे करने का कोई अंतर्निहित तरीका नहीं है।
लेकिन आप इसे VB स्क्रिप्ट से कर सकते हैं:
नीचे दिए गए VBscript में वैकल्पिक अनुभागों पर टिप्पणी की गई है:
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
इसलिए, यदि आपको वास्तव में ऐसा करना है, तो आप अपनी बैच फ़ाइल को VB स्क्रिप्ट को डिस्क पर लिख सकते हैं, इसे लागू कर सकते हैं और फिर इसे हटा सकते हैं। उदाहरण के लिए, जैसे:
@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
उपरोक्त स्क्रिप्ट को मेरे डेस्कटॉप पर एक नए शॉर्टकट में परिणामित करना:
यहां एक गुमनाम योगदानकर्ता से अधिक संपूर्ण स्निपेट (मामूली सुधार के साथ अद्यतन):
@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