1

Unix に相当するものは何echo foo | catですか?

ECHO foo | TYPE CON少なくとも Windows XP/SP3 では、入力待ちでハングします。おそらくCON標準入力ではなく、キーボード入力です。

この演習のポイントは何だろうと思うかもしれません。出力がパイプされていることに気付いたときに異なる動作をするプログラムがあり、それらをテストする方法が必要です。

4

2 に答える 2

3

何をしたいのかわからないが、これが役立つかもしれない:

type file|more

そして、これはあなたのニーズにより適しているかもしれません.

foo.exe | findstr "^"
于 2013-09-13T13:38:17.757 に答える
1

私が理解しているように、パイプで渡されたものを標準出力に渡すだけのパイプできるアプリケーションを探しています。

foo.exe | moreWindowsであなたの目的に役立つと思います。

注: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単純なケースに使用し、より長い出力にはこれに頼ります。

于 2013-09-13T14:10:20.457 に答える