コンソールコマンド出力をHTAウィンドウの<textarea>内に表示、印刷、名前を付けて保存する。
例えば、dirコマンドの出力をHTAウィンドウの<textarea>内に表示します。
htaファイルでは、
<script defer>
t1.value=new ActiveXObject('wscript.shell').exec('cmd /c dir').stdout.readall()
</script>
<textarea id=t1 style='width:100%;height:100%;'></textarea>
または、
<script defer>
new ActiveXObject('wscript.shell').run('cmd /c dir|clip',0,true);
t1.value=clipboardData.getData('text');
</script>
<textarea id=t1 style='width:100%;height:100%;'></textarea>
前者はコンソールウィンドウが一時的に開きます。後者はクリップボードを利用します。
コマンドプロンプトやバッチファイルでは、
dir|mshta.exe vbscript:"<textarea style='width:100%%;height:100%%;'>"+vbcrlf+createobject("scripting.filesystemobject").getstandardstream(0).readall+"</textarea>"
パイプが同期で待ち合わせするので、待ち合わせないで非同期にするには、
dir|start /b mshta.exe ~~~
印刷は、右クリック、印刷。
保存は、htaファイルでは不可。バッチの場合、右クリック、ソースの表示、名前を付けて保存。※<textarea>タグが付きます。