批处理实现快捷方式的创建

想给e:\1.bat创建快捷方式
能否详细解释下整个代码或者做点批注,而且里面有语法错误,求指点
@echo off
::设置程序或文件的完整路径(必选)
set Program=E:\1.bat
::设置快捷方式名称(必选)
set LnkName=1
::设置程序的工作路径,一般为程序主目录,此项若留空,脚本将自行分析路径
set WorkDir=
::设置快捷方式显示的说明(可选)
set Desc=restart virus
if not defined WorkDir call:GetWorkDir "%Program%"
echo Set WshShell=CreateObject("WScript.Shell"^)
echo strDesKtop=WshShell.SPEcialFolders("DesKtop"^)
echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"%LnkName%.lnk"^)
echo oShellLink.TargetPath="%Program%"
echo oShellLink.WorkingDirectory="%WorkDir%"
echo oShellLink.Windowstyle=1
echo oShellLink.Description="%Desc%"
echo oShellLink.Save)>makelnk.vbs
echo 桌面快捷方式创建成功!
makelnk.vbs
del /f /q makelnk.vbs
exit
goto :eof
:GetWorkDir
set WorkDir=%dp1
set WorkDir=%WorkDir:
,-1%
goto :eof

这个是创建快捷键的,里面获取了想要创建的地方

img


自己对比看下就知道了
oShellLink.***对应的就是设置快捷方式需要设置的内容