核心代码如下
@echo off
title 桌面快捷方式创建工具!
>nul 2>&1 REG.exe query "HKUS-1-5-19" || (
ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%Getadmin.vbs"
ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%Getadmin.vbs"
"%TEMP%Getadmin.vbs"
DEL /f /q "%TEMP%Getadmin.vbs" 2>nul
Exit /b
)
set name=Ditto3.lnk
set path=%~dp0
set exec=%~dp0Ditto.exe
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""%jb51name%""):b.TargetPath=""%jb51exec%"":b.WorkingDirectory=""%jb51path%"":b.Save:close")
|
参数说明
>nul 2>&1 REG.exe query "HKUS-1-5-19" || (
ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%Getadmin.vbs"
ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%Getadmin.vbs"
"%TEMP%Getadmin.vbs"
DEL /f /q "%TEMP%Getadmin.vbs" 2>nul
Exit /b
)
|
上面这段是管理员权限运行自身
set name=Ditto3.lnk
set path=%~dp0
set exec=%~dp0Ditto.exe
name代表的是快捷方式名称
path是路径
exec是完成的exe文件路径,一般后缀是exe.
另外在bat中%~dp0表示当前目录。
其实就是通过bat为 vbs传参。
路径
![](https://www.f11.cn/uploads/allimg/211003/0Z230D02-0.png)
效果图如下
![](https://www.f11.cn/uploads/allimg/211003/0Z230A13-1.png)
今天小编也稍微整理了一下知识测试没有问题。
后面大家就可以根据自己的要求修改文件了。
下面为大家分享删除快捷方式的代码
移除桌面快捷方式.bat
@echo off
title 桌面快捷方式移除工具!
>nul 2>&1 REG.exe query "HKUS-1-5-19" || (
ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%Getadmin.vbs"
ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%Getadmin.vbs"
"%TEMP%Getadmin.vbs"
DEL /f /q "%TEMP%Getadmin.vbs" 2>nul
Exit /b
)
ping -n 2 127.1>nul
del /f /q "%userprofile%"Desktop"Ditto.lnk"
del /f /q "%userprofile%"桌面"Ditto.lnk"
exit
|
|