Você precisa criar um atalho e movê-lo para a pasta marcada pelo usuário.
A pasta UserPinned está aqui: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
Aqui, vamos criar um atalho do bloco de notas (notepad.lnk) e movê-lo para a pasta marcada pelo usuário.
As únicas coisas que precisam ser alteradas para seus aplicativos são:
sLinkFile = Nome do seu atalho (application_Name.lnk normalmente)
oLink.TargetPath = Caminho do seu aplicativo raiz (c: \ program files \ program \ program.exe)
@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > C:\temp8\CreateShortcut.vbs
echo sLinkFile = "C:\temp8\notepad.lnk" >> C:\temp8\CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> C:\temp8\CreateShortcut.vbs
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> C:\temp8\CreateShortcut.vbs
echo oLink.Save >> C:\temp8\CreateShortcut.vbs
cscript C:\temp8\CreateShortcut.vbs
del C:\temp8\CreateShortcut.vbs
copy "C:\temp8\notepad.lnk" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\notepad.lnk"
pause
Você pode remover pause
, apenas para a verificação de erros.
Copie o código acima em seu arquivo bat.
Editar: Explicação detalhada:
Essencialmente, os símbolos >
e >>
anexam dados a um documento. Neste caso, estamos criando um arquivo .vbs separado chamado CreateShortcut.vbs
e cada comando antes do > ou > > está sendo colocado nesse arquivo, linha por linha. No final do lote, executamos cscript CreateShort.vbs
, que executa o arquivo que acabamos de criar.
@echo off
REM Create a new obj for shell script and write as line 1 in new file call createshortcut.vbs
echo Set oWS = WScript.CreateObject("WScript.Shell") > C:\temp8\CreateShortcut.vbs
REM Name the shortcut whatever you want. It will end in .lnk and then write that command as the second line in the createshortcut.vbs file
echo sLinkFile = "C:\temp8\notepad.lnk" >> C:\temp8\CreateShortcut.vbs
REM takes the shortcut file and runs the builtin script "create Shortcut to generate the .lnk file and adds as the third line in the createshortcut.vbs file
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> C:\temp8\CreateShortcut.vbs
REM this is physical path of the EXE or application you are making a shortcut for, then adds that path as the 4th line in the createshortcut.vbs file
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> C:\temp8\CreateShortcut.vbs
REM saves everything and writes as the 5th line in the vbs file
echo oLink.Save >> C:\temp8\CreateShortcut.vbs
REM executes the createshortcut.vbs file that we built line by line above
cscript C:\temp8\CreateShortcut.vbs
REM Deletes the createshortcut.vbs script that we made after it ran so you can use this block of code in the same batch more than once
del C:\temp8\CreateShortcut.vbs
REM Copies the newly created shortcut file notepad.lnk to the directory that windows looks at to generate what icons/applications appear on the taskbar
copy "C:\temp8\notepad.lnk" "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\notepad.lnk"