Ferramentas de Linha de Comando

Usando operadores de redirecionamento de comandos

( Retorna à Lista completa de comandos Shell )

Usando operadores de redirecionamento de comandos


É possível usar operadores de redirecionamento para redirecionar fluxos de entrada e saída de comandos dos locais padrão para locais diferentes. O local do fluxo de entrada ou saída é conhecido como identificador.



A tabela a seguir lista operadores que você pode usar para redirecionar fluxos de entrada e saída de comandos.



Operador de redirecionamento Descrição

> Grava a saída do comando em um arquivo ou dispositivo, como uma impressora, em vez de gravar na janela do prompt de comando.

< Lê a entrada do comando a partir de um arquivo, em vez de ler a partir do teclado.

>> Acrescenta a saída do comando ao final de um arquivo sem excluir as informações já existentes no arquivo.

>& Grava a saída de um identificador na entrada de outro identificador.

<& Lê a entrada de um identificador e grava essa entrada na saída de outro identificador.

| Lê a saída de um comando e grava essa saída na entrada de outro comando. Também conhecido como pipe.



Por padrão, a entrada do comando (isto é, o identificador STDIN) é enviada do teclado para o Cmd.exe; em seguida, esse arquivo envia a saída do comando (isto é, o identificador STDOUT) para a janela do prompt de comando.



A tabela a seguir lista os identificadores disponíveis.



Identificador Equivalente numérico do identificador Descrição

STDIN 0 Entrada do teclado

STDOUT 1 Saída para a janela do prompt de comando

STDERR 2 Saída de erro para a janela do prompt de comando

UNDEFINED 3-9 Estes identificadores são definidos individualmente pelo aplicativo e são específicos de cada ferramenta.



Os números de zero a nove (ou seja, 0-9) representam os primeiros dez identificadores. Você pode usar o Cmd.exe para executar um programa e redirecionar qualquer um dos primeiros dez identificadores para o programa. Para especificar o identificador a ser usado, digite o respectivo número antes do operador de redirecionamento. Se você não definir um identificador, o operador de redirecionamento de entrada < padrão será zero (0) e o operador de redirecionamento de saída > padrão será um (1). Depois de digitar o operador < ou >, especifique o local em que deseja ler ou gravar os dados. É possível especificar um nome de arquivo ou outro identificador existente.



Para especificar o redirecionamento para identificadores existentes, use o caractere E comercial (&) seguido do número do identificador a ser redirecionado (ou seja, &identificador#). Por exemplo, o comando a seguir redireciona o identificador 2 (ou seja, STDERR) para o identificador 1 (ou seja, STDOUT):



1<&2



Duplicando identificadores

O operador de redirecionamento & duplica a saída ou a entrada de um identificador especificado para outro. Por exemplo, para enviar a saída do comando dir para Arquivo.txt e enviar a saída de erro para esse mesmo arquivo, digite:



dir>c:\arquivo.txt 2>&1



Ao duplicar um identificador, você duplica todas as características da ocorrência original do identificador. Por exemplo, se um identificador tem acesso somente para gravação, todas as duplicações desse identificador possuem acesso somente para gravação. Não é possível duplicar um identificador com acesso somente leitura para um identificador somente para gravação.



Redirecionando a entrada de comandos (<)

Para redirecionar a entrada de comandos do teclado para um arquivo ou dispositivo, use o operador <. Por exemplo, para obter a entrada do comando sort a partir de Arquivo.txt:



sort


O conteúdo de Arquivo.txt é exibido na janela do prompt de comando como uma lista em ordem alfabética.



O operador < abre o nome de arquivo especificado com acesso somente leitura. Dessa forma, não é possível gravar no arquivo quando esse operador é utilizado. Por exemplo, se você iniciar um programa com <&2, haverá falha em todas as tentativas de leitura do identificador 0 porque o identificador 2 foi aberto inicialmente com acesso somente para gravação.



Observação



Zero é o identificador padrão do operador de redirecionamento de entrada < .

Redirecionando a saída de comandos (>)

Quase todos os comandos enviam a saída para a janela do prompt de comando. Até aqueles que enviam a saída para uma unidade ou impressora exibem mensagens e prompts nessa janela.



Para redirecionar a saída de comandos da janela do prompt de comando para um arquivo ou dispositivo, use o operador >. É possível usar esse operador com a maioria dos comandos. Por exemplo, para redirecionar a saída do comando dir para Lista_pastas.txt:



dir>lista_pastas.txt



Se Lista_pastas.txt não existir, o Cmd.exe o criará. Se Lista_pastas.txt existir, o Cmd.exe substituirá as informações do arquivo pela saída do comando dir.



Para executar o comando netsh routing dump e enviar a saída para Rota.cfg, digite:



netsh routing dump>c:\rota.cfg



O operador > abre o arquivo especificado com acesso somente para gravação. Dessa forma, não é possível ler o arquivo quando esse operador é utilizado. Por exemplo, se você iniciar um programa com o redirecionamento >&0, haverá falha em todas as tentativas de gravação do identificador 1 porque o identificador 0 foi aberto inicialmente com acesso somente leitura.



Observação



Um é o identificador padrão do operador de redirecionamento de saída >.

Usando o operador <& para redirecionar a entrada e duplicar

Para usar o operador de redirecionamento de entrada <&, é necessário que o arquivo especificado já exista. Se o arquivo de entrada existir, o Cmd.exe o abrirá como somente leitura e enviará os caracteres contidos no arquivo como entrada para o comando, como se fossem entrada do teclado. Se você especificar um identificador, o Cmd.exe o duplicará para o identificador existente no sistema.



Por exemplo, para abrir Arquivo.txt como entrada lida para o identificador 0 (ou seja, STDIN), digite:






Para abrir Arquivo.txt, classificar o conteúdo e enviar a saída para a janela do prompt de comando (ou seja, STDOUT), digite:



sort


Para localizar Arquivo.txt e redirecionar o identificador 1 (ou seja, STDOUT) e o identificador 2 (ou seja, STDERR) para Pesquisa.txt, digite:



findfile arquivo.txt>pesquisa.txt 2<&1



Para duplicar um identificador 3 definido pelo usuário como entrada lida para o identificador 0 (ou seja, STDIN), digite:



<&3



Usando o operador >& para redirecionar a saída e duplicar

Se você redirecionar a saída para um arquivo e especificar um nome de arquivo existente, o Cmd.exe abrirá o arquivo como somente para gravação e substituirá o seu conteúdo. Se você especificar um identificador, o Cmd.exe duplicará o arquivo para o identificador existente.



Para duplicar um identificador 3 definido pelo usuário para o identificador 1, digite:



>&3



Para redirecionar toda a saída, incluindo o identificador 2 (ou seja, STDERR), do comando ipconfig para o identificador 1 (ou seja, STDOUT) e, em seguida, redirecioná-la para Saída.log, digite:



ipconfig.exe>>saída.log 2>&1



Usando o operador de redirecionamento >> para acrescentar a saída

Para adicionar a saída de um comando ao final de um arquivo sem perder qualquer informação ali existente, utilize o sinal maior que duas vezes seguidas (ou seja, >>). Por exemplo, o comando a seguir acrescenta a lista de pastas criada pelo comando dir ao arquivo Lista_pastas.txt:



dir>>lista_pastas.txt



Para acrescentar a saída do comando netstat ao final de Info_tcp.txt, digite:



netstat>>info_tcp.txt



Usando o operador pipe (|)

O operador pipe (|) obtém a saída (por padrão, STDOUT) de um comando e a direciona para a entrada (por padrão, STDIN) de outro comando. Por exemplo, o comando a seguir classifica uma pasta:



dir | sort



Nesse exemplo, ambos os comandos começam a ser executados ao mesmo tempo, mas depois o comando sort pausa até receber a saída do comando dir. O comando sort utiliza a saída do comando dir como entrada e envia a saída para o identificador 1 (ou seja, STDOUT).



Combinando comandos com operadores de redirecionamento

É possível criar comandos personalizados combinando comandos de filtro com outros comandos e nomes de arquivo. Por exemplo, você pode utilizar o comando a seguir para armazenar os nomes dos arquivos que contêm a seqüência de caracteres "LOG":



dir /b | find "LOG" > loglist.txt



A saída do comando dir é enviada através do comando de filtro find. Os nomes de arquivo que contêm a seqüência de caracteres "LOG" são armazenados como uma lista (por exemplo, NetshConfig.log, Logdat.svd e Meulog.bat) no arquivo Lista_logs.txt.



Para usar mais de um filtro no mesmo comando, separe os filtros com um pipe (|). Por exemplo, o comando a seguir pesquisa todas as pastas na unidade C:, localiza os nomes de arquivo que incluem a seqüência de caracteres "Log" e os exibe um de cada vez em uma janela do prompt de comando:



dir c:\ /s /b | find "LOG" | more



Com o uso de um pipe (|), você direciona o Cmd.exe para enviar a saída do comando dir através do comando de filtro find. O comando find seleciona somente os nomes de arquivo que contêm a seqüência de caracteres "LOG". O comando more exibe os nomes de arquivo que são selecionados pelo comando find, uma janela do prompt de comando por vez. Para obter mais informações sobre comandos de filtro, consulte Usando filtros.


Leia mais sobre arquivos em lotes

Sistemas Operacionais | Linux Comandos | Linux Shell Script | Atalhos do Office | Literatura e Leitura | Principais Autores | História da Literatura |


Formatando legenda
FormatoSignificado
Itálico Informações que o usuário deve fornecer
Negrito Elementos que o usuário deve digitar exatamente como mostrado
Reticências (...) Parâmetro que pode ser repetido várias vezes em uma linha de comando
Entre colchetes ([]) Itens opcionais
Entre chaves ({});opções separadas por barra vertical (|).Exemplo: {even|odd}Conjunto de opções entre as quais o usuário deve escolher apenas uma
Fonte Courier Código ou resultado de um programa


Envie seu comentário:
Nome:

E-mail:

Comentário:


Fonte: •Manual do Windows XP • ( Literatura e Leitura ) • ( Dicas sobre Sistemas Operacionais ) • ( Retorna à Lista completa de comandos Shell ) •