Script de lote - entrada / saída

Existem três “arquivos” universais para entrada do teclado, impressão de texto na tela e erros de impressão na tela. O arquivo “Standard In”, conhecido comostdin, contém a entrada para o programa / script. O arquivo “Standard Out”, conhecido comostdout, é usado para gravar a saída para exibição na tela. Por fim, o arquivo “Erro Padrão”, conhecido comostderr, contém todas as mensagens de erro para exibição na tela.

Cada um desses três arquivos padrão, também conhecidos como fluxos padrão, são referenciados usando os números 0, 1 e 2. Stdin é o arquivo 0, stdout é o arquivo 1 e stderr é o arquivo 2.

Redirecionando saída (Stdout e Stderr)

Uma prática comum em arquivos em lote é enviar a saída de um programa para um arquivo de log. O operador> envia ou redireciona stdout ou stderr para outro arquivo. O exemplo a seguir mostra como isso pode ser feito.

Dir C:\ > list.txt

No exemplo acima, o stdout do comando Dir C: \ é redirecionado para o arquivo list.txt.

Se você anexar o número 2 ao filtro de redirecionamento, ele redirecionará o stderr para o arquivo lists.txt.

Dir C:\ 2> list.txt

Pode-se até combinar o stdout e stderrstreams usando o número do arquivo e o prefixo '&'. A seguir está um exemplo.

DIR C:\ > lists.txt 2>&1

Suprimindo a saída do programa

O pseudo arquivo NUL é usado para descartar qualquer saída de um programa. O exemplo a seguir mostra que a saída do comando DIR é descartada enviando a saída para NUL.

Dir C:\ > NUL

Stdin

Para trabalhar com o Stdin, você deve usar uma solução alternativa para conseguir isso. Isso pode ser feito redirecionando o próprio stdin do prompt de comando, chamado CON.

O exemplo a seguir mostra como você pode redirecionar a saída para um arquivo chamado lists.txt. Depois de executar o comando abaixo, o prompt de comando pegará todas as entradas inseridas pelo usuário até obter um caractere EOF. Posteriormente, ele envia todas as entradas para o arquivo lists.txt.

TYPE CON > lists.txt