Como criar um atalho na área de trabalho a partir de um arquivo de lote

1

Eu sei que há muitas postagens sobre essa questão, mas há um pequeno desvio para o que preciso fazer.

Eu posso descobrir como criar um atalho com um argumento como este:
"C:\Program Files\My App\App.exe" /s

Mas eu preciso aplicar o caminho de um arquivo envolto em "" como argumento como este:
"C:\Program Files\My App\App.exe" "c:\Data\File.ext"
Observe as aspas duplas.

Não consigo encontrar exemplos de VBscript ilustrando esse comportamento.
Isso é o que eu baseei meu script atual.

@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%
    
por Morten Kahr 26.09.2013 / 17:50

2 respostas

1

A alma foi as citações triplas:

Por alguma razão, o

echo oLink.arguments = Chr(34) & "c:\Data\File 1.ext" & Chr(34)

Faz o arquivo 1.ext abrir.

    
por 27.09.2013 / 08:27
0

Tente adicionar

echo oLink.arguments = "c:\Data\File.ext"

Antes do oLink.save.

Se você achar que ainda precisa incluir as aspas (não acho que você faria), poderá triplicá-las no arquivo em lote.

echo oLink.arguments = """c:\Data\File 1.ext"""

As aspas mais externas são as que delimitam a string, e as aspas duplas internas são para colocar as aspas duplas dentro da string.

    
por 26.09.2013 / 19:55