Como iniciar uma janela de cmd e solicitar uma requisição final em um arquivo bat?

0

Eu posso abrir uma janela cmd e começar uma cauda, digitando algo assim:

tail -f C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log

Esta é provavelmente uma pergunta estúpida, mas como faço isso em um arquivo de lote?

Deve ser fácil, mas não está funcionando - tentei algumas variações e não tive sucesso. Alguém pode me dizer o que estou fazendo errado aqui?

ECHO OFF
CD C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\
cmd
tail -f sites.log

Eu também tentei:

ECHO OFF
start cmd tail -f C:\Oracle\WebCenter\SitesgR1\Sites.1.1.6.1\logs\sites.log

(estou usando o Win7 Ultimate, em uma máquina de 64 bits, se isso tiver algum efeito)

    
por Kari 19.08.2014 / 05:40

1 resposta

1

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.

    
por 19.08.2014 / 06:10