桌面快捷方式是我们安装商业软件常见的一个步骤,如果没有桌面快捷方式,我们通常的做法是找到软件安装目录,然后发送快捷方式到桌面。这里小白要跟大家聊聊的是使用批处理的方式,发送指定文件到桌面快捷方式
图文 / 丁建雄
小白是单纯为兴趣而写作的独立创作人,如果您喜欢小白的文章,欢迎关注、交流、分享(引用请链接到本文)。
程序
直接上代码
@echo off
::设置程序或文件的完整路径(必选)
set Program=E:\software\happy\09Platform\09Platform.exe
::设置快捷方式名称(必选)
set LnkName=09
::设置程序的工作路径,一般为程序主目录,此项若留空,脚本将自行分析路径
set WorkDir=
::设置快捷方式显示的说明(可选)
set Desc=测试
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
把这段代码复制到记事本中,命名为seturl.bat,就可以啦。
关键点分析
很基础的东西就先不解释了,这里重点介绍一些需要注意的点。
@echo off
的意思是取消回显,这样这段以下的命令不显示命令本身,只显示执行结果。
我们知道要实现创建快捷方式,我们需要这样几个关键步骤:
S1:设定源的URL地址
S2:设定目标位置的URL地址
S3:设定快捷方式名称
这里我们使用的是 CreateObject()
方法,里面有很多参数可选,对于本例,最重要的几个参数就是以上三个步骤中提到的参数。
其中,(必选)部分是必须根据自己的实际情况修改的,可选部分可以不必修改,可以通用。
这里,着重强调的是 WshShell.SpecialFolders()
方法,参见 微软官方文档。这里有一个叫做 SpecialFolders Property 的参数,也就是你想要的特殊文件夹的位置,微软提供了16个参数可选,分别如下
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
相信各位应该能大概猜到这些名字对应的目录,如果不清楚也没关系,尝试一下就好了。这里,由于我们创建的是桌面快捷方式,所以选择的参数是 Desktop
。
至于其他的参数,注释里面应该写的很清楚,这里就不再赘述了。
关于编码方式的提醒
这段程序是参考的某篇博文的(不好意思实在找不到了,等找到了再补上链接)。
在运行过程中cmd中会出现乱码,而且鼠标悬停显示也出现乱码,但是名称是正确的。后来,我们找到了解决方法,就是右击bat文件,选择编辑--文件--另存为,在保存 按钮旁边有一个编码 选项,选择 ansi
编码方式就可以解决问题了。
结语
最近,临近暑假,但是研究生的生活却没什么大的变化。变化的或许只是心境,我想也是时候转换转换思维了,年轻的时候,多尝试一些新的东西,以后的路才会越走越宽。我喜欢在不同的状态下进行切换,因为这样比较有乐趣!
好啦,这次的分享就到这里啦,换个生活,换个心情~
End !