用bat新建带图标的快捷方式


利用桌面“创建桌面快捷方式.bat"为Nessus_start.bat创建以nessus_favicon.ico为图标的快捷方式
具体如下:

chcp 936
REM 设置936编码防止某些中文路径导致批处理失效
@echo off
setlocal enabledelayedexpansion
mode con cols=94 lines=30&color 0a&title 创建Nessus一键启动脚本快捷方式
echo.
echo [+] 获得当前路径:%~dp0
set path=%~dp0Nessus_start.bat
echo.
if exist %path% (
echo [+] 发现Nessus一键启动脚本Nessus_start.bat
echo.
echo [+] 启动脚本路径:
echo.
echo [+] %path%
echo.
goto :creat
) else (
echo [-] 注意,未发现启动脚本Nessus_start.bat,请注意是否改名,程序退出... 
echo.
pause
exit
)
:creat
echo [+] 开始创建快捷方式...
echo.
rem 设置程序的完整路径(必要)
set Program=%path%
rem 设置快捷方式名字(必要)
set LinkName=Nessus
rem 程序工作路径
set WorkDir=%~dp0
rem 设置快捷方式说明
set Desc=Nessus汉化版一键启动
rem 设置快捷方式图标
set icon=%~dp0/nessus_favicon.ico
if not defined WorkDir call:GetWorkDir "%Program%"
(echo Set WshShell=CreateObject("WScript.Shell"^)
echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)
echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LinkName%.lnk"^)
echo oShellLink.TargetPath="%Program%"
echo oShellLink.WorkingDirectory="%WorkDir%"
echo oShellLink.WindowStyle=1
echo oShellLink.Description="%Desc%"
echo oShellLink.IconLocation="%icon%"
echo oShellLink.Save)>makelnk.vbs
echo [+] 桌面快捷方式创建成功!!
echo.
makelnk.vbs
del /f /q makelnk.vbs
pause
goto :eof
:GetWorkDir
set WorkDir=%~dp1
set WorkDir=%WorkDir:~,-1%
pause
goto :eof

其中有关Nessus_start.bat和nessus_favicon.ico可以自由替换为各种可以直接通过命令行打开的文件夹,可执行程序等
效果如下



你可能感兴趣的:(用bat新建带图标的快捷方式)