如何使用批处理文件在桌面上创建带图标的快捷方式?
How to create shortcut with icon on desktop using Batch file?
我想像这样使用批处理文件在桌面上创建带图标的快捷方式:
set SCRIPT="%TEMP%\theiboosts1.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\Internetovy Booster.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "c:\Booster\booster.bat" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
"%windir%\system32\timeout.exe" /t 5
start wscript.exe "%SCRIPT%"
"%windir%\system32\timeout.exe" /t 10
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objShell = CreateObject("Shell.Application") >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objFolder = objShell.NameSpace(DESKTOP) >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objFolderItem = objFolder.ParseName("Internetovy Booster.lnk") >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objShortcut = objFolderItem.GetLink >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll",-16752 >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo objShortcut.Save >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
start wscript.exe "%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
但是写错了:
Syntex of the command is incorrect
但是
之间没有命令
"%windir%\system32\timeout.exe" /t 10
和
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
当我创建 .vbs 文件时它工作正常
Const DESKTOP = &H10&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("Internetovy Booster.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll",-16752
objShortcut.Save
有人可以帮助我吗?
& 符号 (&
) 是批处理 files/the Windows 命令 shell 中的一个特殊字符。它表示当前命令已结束,新命令正在启动。
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
实际上被脚本解释为:
echo Const DESKTOP =
H10
>>"%TEMP%\testboost.vbs"
这是不正确的,因为您只想打印一个 &
字符。 "syntax incorrect" 错误实际上是关于试图将 H10
作为命令执行的脚本(该命令不存在)。
要在字符串中打印一个 &
字符,您只需要使用批量转义字符 - 克拉 ^
.
对其进行转义
echo Const DESKTOP = ^&H10^&>>"%TEMP%\testboost.vbs"
我想像这样使用批处理文件在桌面上创建带图标的快捷方式:
set SCRIPT="%TEMP%\theiboosts1.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\Internetovy Booster.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "c:\Booster\booster.bat" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
"%windir%\system32\timeout.exe" /t 5
start wscript.exe "%SCRIPT%"
"%windir%\system32\timeout.exe" /t 10
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objShell = CreateObject("Shell.Application") >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objFolder = objShell.NameSpace(DESKTOP) >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objFolderItem = objFolder.ParseName("Internetovy Booster.lnk") >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo Set objShortcut = objFolderItem.GetLink >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll",-16752 >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
echo objShortcut.Save >>"%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
start wscript.exe "%TEMP%\testboost.vbs"
"%windir%\system32\timeout.exe" /t 5
但是写错了:
Syntex of the command is incorrect
但是
之间没有命令"%windir%\system32\timeout.exe" /t 10
和
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
当我创建 .vbs 文件时它工作正常
Const DESKTOP = &H10&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(DESKTOP)
Set objFolderItem = objFolder.ParseName("Internetovy Booster.lnk")
Set objShortcut = objFolderItem.GetLink
objShortcut.SetIconLocation "C:\Windows\System32\SHELL32.dll",-16752
objShortcut.Save
有人可以帮助我吗?
& 符号 (&
) 是批处理 files/the Windows 命令 shell 中的一个特殊字符。它表示当前命令已结束,新命令正在启动。
echo Const DESKTOP = &H10&>>"%TEMP%\testboost.vbs"
实际上被脚本解释为:
echo Const DESKTOP =
H10
>>"%TEMP%\testboost.vbs"
这是不正确的,因为您只想打印一个 &
字符。 "syntax incorrect" 错误实际上是关于试图将 H10
作为命令执行的脚本(该命令不存在)。
要在字符串中打印一个 &
字符,您只需要使用批量转义字符 - 克拉 ^
.
echo Const DESKTOP = ^&H10^&>>"%TEMP%\testboost.vbs"