Lança um atalho usando um arquivo de lote

11

Aqui está o problema.

Eu tenho um atalho em aproximadamente 260 computadores localizados na mesma pasta abaixo:

"c: \ documents and settings \ todos os usuários \ desktop \ Agente remoto 1234 .lnk"

A única coisa que muda no atalho é o número. Existe uma maneira de usar um curinga em um arquivo em lotes para iniciar o atalho em vez de precisar especificar o nome completo do arquivo?

    
por ghost3h 15.02.2013 / 18:08

1 resposta

5

Você pode usar para ou forfiles para esta tarefa. Forfiles é mais flexível, mas pode não funcionar corretamente em versões mais antigas do Windows.

Para

Em um prompt de comando:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

Em um arquivo em lotes:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

Forfiles

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Os arquivos Forfiles passam por todos os arquivos no caminho especificado em /P que correspondem à máscara especificada em /M e executam o comando especificado em /C . Aqui @path é o caminho completo do arquivo.

Normalmente, usamos o comando start "" "Remote Agent 1234.lnk" para iniciar o atalho. Como o início é um comando interno, temos que chamá-lo em um novo shell ( cmd /C ). \"\" são apenas aspas duplas, já que a string inteira já foi citada.

    
por 15.02.2013 / 18:31