重装系统后如果没有备份桌面,那么快捷方式就会不见了。

同时,Windows 的检索对开始菜单目录下的快捷方式应该有加速,有时候会搜索不到桌面。

检索快捷方式

做了个简单的脚本快速添加快捷方式到开始菜单里。

Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.GetFile(Wscript.ScriptFullName)
strFolder = objFSO.GetParentFolderName(objFile)

strDesktop = objShell.SpecialFolders("Desktop")
strStartMenu = objShell.SpecialFolders("Programs")
strStartMenuGames = strStartMenu & "\Games"

Sub Mkdir(dir)
	If Not objFSO.FolderExists(dir) Then
		objFSO.CreateFolder dir
	End If
End Sub

Function StrFallback(a, b)
	If a <> "" Then
		StrFallback = a
	Else
		StrFallback = b
	End If
End Function

Sub CreateShortcutWithIcon(root, dir, exe, name, desc, icon)
	strProgramFolder = strFolder & "\" & dir
	strProgramPath = strProgramFolder & "\" & exe

	Mkdir root
	Set lnk = objShell.CreateShortcut(root & "\" & name & ".lnk")
	lnk.IconLocation = StrFallback(icon, strProgramPath)
	lnk.Description = StrFallback(desc, name)
	lnk.TargetPath = strProgramPath
	lnk.WorkingDirectory = strProgramFolder
	lnk.Save
	Set lnk = Nothing
End Sub

Sub CreateShortcut(root, dir, exe, name, desc)
	CreateShortcutWithIcon root, dir, exe, name, desc, ""
End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''' 快捷方式代码放在下面 '''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' 建立 Steam 快捷方式,桌面 + 开始菜单
CreateShortcut strDesktop, "Steam", "steam.exe", "Steam", "Steam 启动器"
CreateShortcut strStartMenuGames, "Steam", "steam.exe", "Steam", "Steam 启动器"

' 建立 osu! 快捷方式,桌面 + 开始菜单
CreateShortcut strDesktop, "osu!", "osu!.exe", "osu!", "osu! 是一个节奏游戏"
CreateShortcut strStartMenuGames, "osu!", "osu!.exe", "osu!", "osu! 是一个节奏游戏"

' 建立其他快捷方式到自定义目录
CreateShortcut "目标目录", "子目录名", "可执行文件", "快捷方式名", "描述"
' 建立其他快捷方式,带自定义图标
CreateShortcutWithIcon "目标目录", "子目录名", "可执行文件", "快捷方式名", "描述", "图标路径"

比较适合经常重装,或打包工具箱用于一键建立所有快捷方式。