Como ocultar comandos no prompt do Windows 10 de um arquivo em lotes?

2

Eu quero ocultar os comandos no prompt aberto de um arquivo em lotes. Exemplo:

É assim normalmente:

Éassimqueeuqueroqueseja:

Seria bom também se houvesse uma maneira de produzir tudo ( exceto os comandos ) para um arquivo de texto. Eu usei o operador de redirecionamento ( Time_Dif.bat > Time_Dif_Log.txt ) mas ele escreveu os comandos exatamente como o prompt ( como esperado ).

Eu pesquisei e encontrei muitas perguntas sobre como ocultar o prompt inteiro de um lote ou como evitar que o prompt fechasse automaticamente no final do arquivo de lote, mas quero ocultar apenas os comandos.

O arquivo em lote:

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause
    
por Lucas Souza 20.05.2016 / 03:45

2 respostas

4

Enquanto procurava por outro problema no uso do operador de redirecionamento, descobri que apenas desligar o "eco" resolveu o problema.

Basta abrir o prompt e escrever:

echo off

Depois disso, execute o arquivo em lote no mesmo prompt, na pasta correta:

Time_Dif.bat

Ou envie o resultado para um arquivo de texto:

Time_Dif.bat > Time_Dif_Log.txt

Depois disso, ele não mostrará os comandos no prompt ou em um arquivo de texto externo. Exemplo:

Aviso normal

EDITADO ( De resposta de @Kyle A, comentário de @JUICED_IT e TechNet ):

É possível colocar @echo off no início do arquivo de lote para que você possa abrir diretamente do explorador de arquivos sem que os comandos sejam exibidos no prompt. Meu arquivo final:

@echo off

set startTimeTwo=%time%
javac myPi_Two.java
java myPi_Two
set finishTimeTwo=%time%

set startTimeFour=%time%
javac myPi_Four.java
java myPi_Four
set finishTimeFour=%time%

set startTimeTen=%time%
javac myPi_Ten.java
java myPi_Ten
set finishTimeTen=%time%

echo.
echo myPi_Two: %startTimeTwo% %finishTimeTwo%
echo myPi_Four: %startTimeFour% %finishTimeFour%
echo myPi_Ten: %startTimeTen% %finishTimeTen%

pause

Também adicionei echo. para criar uma linha vazia, apenas para organizar a saída. Solicitar após alterações:

    
por 20.05.2016 / 03:56
1

Use o comando Echo (@echo off).

    
por 20.05.2016 / 03:58