Como criar um atalho usando um script em lotes? [duplicado]

Respostas:

21

Você pode conseguir sem ferramentas externas isso criando um VBScript temporário:

@echo off

set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"

echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\myshortcut.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "D:\myfile.extension" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%

cscript /nologo %SCRIPT%
del %SCRIPT%

(Idéia tirada daqui .)

Isso criará myshortcut.lnkna área de trabalho, apontando para D:\myfile.extension.

Você pode fornecer propriedades adicionais antes de salvar o link, modificando os seguintes valores:

oLink.Arguments
oLink.Description
oLink.HotKey
oLink.IconLocation
oLink.WindowStyle
oLink.WorkingDirectory

Consulte Como criar um atalho na área de trabalho com o Windows Script Host para ver alguns exemplos.

Dennis
fonte
É impossível fazer com script em lote? (além de gerar seu vbs proposto e executá-lo)
industryworker3595112
Existe uma maneira de definir AppUserModelIdusando esse método?
JacobTheDev
13
@echo off
echo [InternetShortcut] >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo URL="C:\WINDOWS\NOTEPAD.EXE" >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo IconFile=C:\WINDOWS\system32\SHELL32.dll >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo IconIndex=20 >> "%AllUsersProfile%\desktop\NOTEPAD.url"

Esse código cria um atalho na pasta da área de trabalho "Todos os usuários" chamada NOTEPAD.url apontando para o aplicativo Bloco de notas e também atribuirá um ícone do SHELL32.dll. Altere o caminho e o nome do arquivo para o seu D: / location e exename. E certifique-se de que seu nome de arquivo .url permaneça o mesmo em todas as linhas de código.

Logman
fonte
1
Boa ideia. Contanto que você não precise fornecer argumentos, isso funciona bem.
Dennis
Quem acabou de votar a minha resposta? Faz exatamente o que o cartaz queria ...
Logman
Alguém downvoted a pergunta e todas as respostas ( link ).
Dennis
4

existe um comando externo shortcut.exe que pode fazer isso dessa maneira:

shortcut /a:c /f:"c:\users\me\desktop\myshortcut.lnk" /t:"c:\program files\skype\skype.exe"

que pode criar um atalho do skype na sua área de trabalho

é um programa gratuito que pode ser baixado, mas não consigo encontrar o link dele, então vou tentar enviá-lo e postar o link


aqui está :

shortcut.exe por Marty List

aventureiro
fonte
Não, eu não sabia que há utilidade para isso no kit de recursos da microsoft. Eu sou currenlty usando sua alternativa pelo melhor x
aventureiro