2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 関連付けでフォルダの詳細表示相当を保存印刷する。(その2) | トップページ | バッチファイルや関連付けでフォルダの詳細表示相当+フォルダサイズを表示する。 »

2010年12月17日 (金)

powershellの中でウィンドウアプリにパイプするとデータが重複する?

再現手順

powershell "type .\in.txt|wscript.exe readall.js" >out.txt

ここで、readall.jsは、

new ActiveXObject("scripting.filesystemobject").getstandardstream(1).write(new ActiveXObject("scripting.filesystemobject").getstandardstream(0).readall())

入力データは8kb。
出力は入力データの後に入力データの4kb以降のデータが続く。

原因

パイプのバッファサイズは4kb?
入力のeofでパイプバッファ上のデータをクリアせずにまた渡している?

回避方法

コンソールアプリに化かす。

powershell "type .\in.txt|cmd.exe /c wscript.exe readall.js" >out.txt

« 関連付けでフォルダの詳細表示相当を保存印刷する。(その2) | トップページ | バッチファイルや関連付けでフォルダの詳細表示相当+フォルダサイズを表示する。 »