Como posso alimentar um arquivo em um programa que lê stdin (na linha de comando do Windows)?

4

Eu tenho um programa P que processa stdin. Como posso alimentar um arquivo neste programa a partir da linha de comando do windows ?

P < filename

não funciona.

filename | P
filename > P

também não funciona.

editar

tentou novamente, na verdade

P < filename

ou

grep abc < lab.txt

funciona . Obrigado pela participação.

    
por joh 12.05.2014 / 21:38

1 resposta

2

Eu tentei este script que definiu o conteúdo do nome do arquivo como variável "a" e, em seguida, alimentou essa variável "a" como um argumento para o programa "p".

@echo off
for /f "tokens=1 delims={" %%a in ('TYPE filename ^| FINDstr /r "[a-z]"') do (cmd /c p "%%a")
pause

Note que este script tem várias limitações, pois usei a expressão regular no comando findstr supondo que o conteúdo do nome do arquivo seja apenas texto. Eu não sei qual é o conteúdo do seu nome de arquivo, então você precisa modificá-lo para atender às suas necessidades. Além disso, você precisa modificar seu programa "p" para que ele aceite argumentos. Espero que esta ajuda.

    
por 16.10.2017 / 13:29