◀ANSI版開発トップへ
  • 5661 (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される
    • 5662 RE: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される
      • 5663 Re2: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される
        • 5664 Re3: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される
  • [5661] (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される std 2010年03月20日 19:34

    標準出力のみをエディタウインドウに出したいことや
    標準エラー出力のみをエディタウインドウに出したいケースに
    現状では対応していません。

    「標準出力を得る」は標準出力のみを出力させるオプションに仕様変更して、
    「標準エラー出力を得る」チェックボックスの新設と
    「別々のアウトプットウインドウに出力」チェックボックスの新設を提案します。
    • [5662] RE: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される もか 2010年03月21日 20:06

      確かに「標準出力・エラーを得る」が正しいです。

      >「別々のアウトプットウインドウに出力」チェックボックスの新設を希望します。
      サンプル少ないですがこういうソフトを見かけたことがありません。
      どちらかしか表示できないか両方画面に表示するものが多いです。
      やはり、両方の出力を別々にリアルタイムで取得したいのでしょうか?

      >標準エラー出力のみをエディタウインドウに出したいケースに
      >現状では対応していません。
      http://support.microsoft.com/kb/110930/ja
      でどちらを拾ってくるか指定できます。
      cmd /C "dir aaa 2>nul" 標準出力だけほしい
      cmd /C "dir aaa 1>nul" 標準エラーだけほしい
      cmd /C "dir aaa" 両方ほしい
      dir aaaの部分をお好きなコマンドにしてください

      cmd /C "dir aaa 2>temperror.txt"
      で標準出力だけ拾って、その後に temperror.txt を開くという方法もあります。
      逆に標準出力を一時ファイルへ送ることもできます。
      他にはWSHでなんとかする方法もあります。
      • [5663] Re2: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される std 2010年03月22日 11:37

        ▼ もかさん
        > >標準エラー出力のみをエディタウインドウに出したいケースに
        > >現状では対応していません。
        > http://support.microsoft.com/kb/110930/ja
        > でどちらを拾ってくるか指定できます。

        fc aaa bbb 2>hoge.txt 1>nul 1>&2

        のような複雑な指定の際に、標準出力(1)が削除され、
        標準エラー(2)に標準出力の内容もコピーされているか
        想定通りになっているかを確認するのが目的ですので、
        ご提案頂いた方法では、申し訳ありませんが根本解決とはなりません。

        最初の投稿から仕様変更したものをリクエストとして挙げました。
        (やはりバグではなかったと思いますので)
        http://sakura.qp.land.to/?Request%2F338

        開発陣の皆様、なにとぞ対応をお願いします。
        • [5664] Re3: (バグ報告)[外部コマンド実行]の「標準出力を得る」で標準エラー出力も出力される もか 2010年03月22日 18:18

          > fc aaa bbb 2>hoge.txt 1>nul 1>&2
          >のような複雑な指定の際に、標準出力(1)が削除され、
          >標準エラー(2)に標準出力の内容もコピーされているか
          >想定通りになっているかを確認するのが目的ですので、
          >ご提案頂いた方法では、申し訳ありませんが根本解決とはなりません。
          そうですよね。想定レベルが分からなかったので、基本的な方法だけ書きました。
          リクエストの反応しだいだとおもいます。

          ちなみに、リダイレクトのテストをリダイレクトを使って書くとこんな感じになりました。
          CMDが正しいか確認したいのにCMDを使うので微妙ですね。
          CMD /C"CMD /C""fc aaa bbb 2>hoge.txt 1>nul 1>&2"" 2>last_cerr.txt"
          CMD /C"fc aaa bbb 2>hoge.txt 1>nul 1>&2" 2>last_cerr.txt
          CMD /C"fc aaa bbb 2>hoge.txt 1>nul 1>&2" 1>last_cout.txt 2>last_cerr.txt
          (fc aaa bbb 2>hoge.txt 1>nul 1>&2) 1>last_cout.txt 2>last_cerr.txt
          (fc aaa bbb 2>hoge.txt 1>nul 1>&2) 1>nul
          (fc aaa bbb 2>hoge.txt 1>nul 1>&2) 2>nul
          ちなみに/Cのあとにスペースを空けるとエラーになります。
          こういうのをテストしたいと。さすがに面倒くさいです。私でもいやです。

          *[以下オフトピック]
          > fc aaa bbb 2>hoge.txt 1>nul 1>&2
          fc aaa bbb 2>hoge.txt 1>&2
          fc aaa bbb 1>hoge.txt 2>&1
          と同じはずと。

          stdoutとstderrをひっくり返す
          fc aaa bbb 3>&1 1>&2 2>&3