Unix に相当するものは何echo foo | cat
ですか?
ECHO foo | TYPE CON
少なくとも Windows XP/SP3 では、入力待ちでハングします。おそらくCON
標準入力ではなく、キーボード入力です。
この演習のポイントは何だろうと思うかもしれません。出力がパイプされていることに気付いたときに異なる動作をするプログラムがあり、それらをテストする方法が必要です。
Unix に相当するものは何echo foo | cat
ですか?
ECHO foo | TYPE CON
少なくとも Windows XP/SP3 では、入力待ちでハングします。おそらくCON
標準入力ではなく、キーボード入力です。
この演習のポイントは何だろうと思うかもしれません。出力がパイプされていることに気付いたときに異なる動作をするプログラムがあり、それらをテストする方法が必要です。
何をしたいのかわからないが、これが役立つかもしれない:
type file|more
そして、これはあなたのニーズにより適しているかもしれません.
foo.exe | findstr "^"
私が理解しているように、パイプで渡されたものを標準出力に渡すだけのパイプできるアプリケーションを探しています。
foo.exe | more
Windowsであなたの目的に役立つと思います。
注:more
出力をページングするという副作用があるため、より長い出力をテストする必要がある場合は、リダイレクトを行う単純なアプリケーションを作成できます。
編集: stdin を stdout にリダイレクトし、そこにパイプする単純なバッチ ファイルを作成できます。ここのジェブの答えから:
@echo off
setlocal DisableDelayedExpansion
for /F "tokens=*" %%a in ('findstr /n $') do (
set "line=%%a"
setlocal EnableDelayedExpansion
set "line=!line:*:=!"
echo(!line!
endlocal
)
これを redir.bat として保存し、そのように使用しますfoo.exe | redir.bat
。Win7でテスト済み。デフォルトの Windows インストールと互換性があります。唯一の欠点は、覚えるのが簡単ではないことです。
私はmore
単純なケースに使用し、より長い出力にはこれに頼ります。