« HTAウィンドウにテキストファイルを表示する。 | トップページ | PowerShellのワンライナをWScript.ShellのExec()すると、終了待ちが解けない。 »

2010年7月14日 (水)

コンソールコマンド出力をHTAウィンドウにテキスト形式で表示、印刷、名前を付けて保存する。

例えば、dirコマンドの出力をHTAウィンドウに表示します。

htaファイルでは、

<script defer>
document.open('text/plain');
document.write(new ActiveXObject('wscript.shell').exec('cmd /c dir').stdout.readall());
document.close();
</script>

または、

<script defer>
new ActiveXObject('wscript.shell').run('cmd /c dir|clip',0,true);
document.open('text/plain');
document.write(clipboardData.getData('text'));
document.close();
</script>

前者はコンソールウィンドウが一時的に開きます。後者はクリップボードを利用します。

コマンドプロンプトやバッチファイルでは、

dir|mshta.exe "about:<script defer>document.open('text/plain');document.write(new ActiveXObject('scripting.filesystemobject').getstandardstream(0).readall());document.close();</script>"

パイプが同期で待ち合わせするので、待ち合わせないで非同期にするには、

dir|start /b mshta.exe ~~~

印刷は、右クリック、印刷。

保存は、右クリック、ソースの表示、名前を付けて保存。

« HTAウィンドウにテキストファイルを表示する。 | トップページ | PowerShellのワンライナをWScript.ShellのExec()すると、終了待ちが解けない。 »