satocchiaブログ

satocchiaブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…
2017.12.15
XML
カテゴリ: UWSC
UWSCって、コマンドラインでの入出力は何にもない。なので、バッチなどから呼んでもあまり役に立たないよね…。

長らく、そんな誤解をしていました。ごめんなさい。
UWSCは無敵です。
その気になれば、UWSCでフィルタープログラムもできちゃう。すごい。

FSOのGetStandardStreamをキックすることで、標準入出力とやりとりできることに気付きました。
ただ、入力も出力もエラーも、パイプやリダイレクト先がなかったりするとエラーになるのが難点。

下のstdio.uwsをコマンドから呼ぶときはこんな感じ。

C:\Users\satocchia>dir|stdio.uws|more


<stdio.uws>

    repeat
        line    =stdio.readLine()
        if line    =stdio.EOF then break
        msgbox( line )
    until false
    stdio.verbose    =true
    stdio.write( "output" )
    stdio.writeerr( "output2" )
    stdio.write( "output3" )
endif

module    stdio

    public    verbose    =false
    dim std_in    =0
    dim std_out    =1
    dim std_err    =2
    dim    fso

        fso    =createoleobj("Scripting.FileSystemObject")
    fend
    procedure    write( data )
        com_err_ign
            fso.GetStandardStream( std_out ).WriteLine( data )
            if com_err_flg and verbose
                msgbox( "標準出力のリダイレクト先が設定されていません" )
            endif
        com_err_ret
    fend
    procedure    writeerr( data )
        com_err_ign
            fso.GetStandardStream( std_err ).WriteLine( data )
            if com_err_flg and verbose
                msgbox( "標準エラー出力のリダイレクト先が設定されていません" )
            endif
        com_err_ret
    fend
    function    readLine()
        com_err_ign
            result    =fso.GetStandardStream( std_in ).ReadLine()
            if com_err_flg
                result    =EOF
            endif
        com_err_ret
    fend
    function    readAll()
        result    =fso.GetStandardStream( std_in ).ReadAll()
    fend
endmodule





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2017.12.15 14:52:22
コメントを書く
[UWSC] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: