Eu posso bater isso. Basta criar um atalho e colocar isso no campo de destino:
cmd.exe /K tail.exe "C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log"
É um liner, então não há necessidade de um arquivo BATCH.
Se você quiser um arquivo de script, faça o seguinte:
@echo off
tail.exe "C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log"
ou apenas
@tail.exe "C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log"
já que é apenas uma linha.
Vou adivinhar que o problema que você teve foi que você nomeou seu arquivo BATCH tail.bat
. Então dentro dele você usou tail C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log
. Isso fez com que seu script se referisse a si mesmo porque o DOS iria procurar primeiro no diretório atual. Ele acabaria chamando tail.bat C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log
de novo e de novo.
Atualizar
Se você quiser que a janela permaneça aberta, terá algumas opções. Você pode usar o comando pause
:
@tail.exe "C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log"
@pause
ou você pode lançar um novo shell dentro do terminal que fica aberto após a conclusão. Isso fará com que o shell pai permaneça aberto, bem como o próprio terminal:
@cmd.exe /K tail.exe "C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log"
O comando pause
é bom se você deseja que a janela seja fechada facilmente. Basta pressionar qualquer tecla e desapareceu. A segunda opção é melhor se você normalmente deseja executar outros comandos após a execução.