「DOSコマンドを実行し出力データを取得する」へのコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html 「DOSコマンドを実行し出力データを取得する」に投稿されたコメントの一覧 ja https://dobon.net/banner/dbs1.gif https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html 「DOSコマンドを実行し出力データを取得する」へのコメント 88 31 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#37 Tue, 11 Jul 2023 19:32:55 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#37 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#36 例えばnet useはとれますが、net sessionは取れません。
理由がわかる方いませんでしょうか?]]>
Sun, 07 May 2023 19:43:01 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#36
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#35 でも動作させることができました。
ありがとうございます。]]>
Thu, 04 Oct 2018 06:20:16 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#35
評価の理由 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#34 大変参考になりました。
ただ、非同期でデータを出力するを実行した場合画面が固まりVS2017の方から落としたりしないと動きません。(まるでメインスレッドが重い処理をしているかのように)
結果ですが、
Console.ReadLine();
この文を削除したところ無事固まることなく動作しました。
初心者の自分には何が悪かったのかよくわかりませんが、この文があると固まるようです。]]>
Sat, 31 Mar 2018 15:56:50 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#34
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#33
「このコード」というのは、「非同期で出力データを取得する」の項で紹介しているコードで間違いありませんか?もしそうであれば、非同期で読み取るはずですが。]]>
Thu, 23 Nov 2017 00:34:19 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#33
評価の理由 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#32 このコードでは非同期で出力データを取得する事はできません。うその情報は削除して下さい]]> Wed, 22 Nov 2017 16:14:21 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#32 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=process%2Fstandardoutput.html#31 p_OutputDataReceived と P_ErrorDataReceived
イベントハンドラのエラーについて

Console.Writeline(e.data)の所を、
Form.Textbox1.AppendText(e.Data) に変えたのですが、
↑のところで、
NullReferenceExceptionはハンドルされませんでした。
というハンドルされていない例外が発生します。
インターネットで調べると、
Null の変数(オブジェクト)を参照すると、発生する
という感じなので、
If (e.data = Nothing) Then
Return
ElseIf (e.Data <> Nothing) Then
Form1.Textbox1.AppendText(e.Data)
End If
にしたのですがやはり結果は同じでした。
どうすればよいでしょうか?]]>
Sat, 11 Feb 2017 15:21:58 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#31
評価の理由 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#30 【出力とエラーの両方を読み取る】【VB.NET】
p_OutputDataReceived と p_ErrorDataReceived イベントハンドラで例外がスローされます。

Console.Writeline(e.Data)
の所を
Form1.Textbox1.AppendText(e.Data)
にしたのですが、
NullReferenceException はハンドルされませんでした。
というエラーになってしまいます。
どうすればよいでしょうか。
インターネットを検索する限り、Null の参照型をしようとしたときに発生するらしく、
自分なりに解釈したところは、"e.data が Nothing"なのかな~、と思ったのですが…]]>
Sat, 11 Feb 2017 15:10:25 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#30
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#29 Fri, 16 Sep 2016 10:29:58 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#29 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#28 以下のようにすることで思い通りの動作になりました。
p.Start()
While (p.HasExited = False)
TextBox1.AppendText(
p.StandardOutput.ReadLine() &
Environment.NewLine)
End While
TextBox1.AppendText(
p.StandardOutput.ReadToEnd())]]>
Wed, 24 Aug 2016 21:19:16 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#28
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#27 ここでの方法では、DOSコマンドが終了した後にまとめて出力されていまいます。]]> Wed, 24 Aug 2016 15:16:43 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#27 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#26
「出力とエラーの両方を読み取る」の方法で私が試した限りでは(Windows 8.1)、問題ない(コマンドプロンプトで実行した時と同じ)ように見えました。なおWindows 7のFTP.EXEには、「Error messages are not displayed or are not redirected when you run the FTP command and a connection error occurs in Windows 7 or in Windows Server 2008 R2(http://support.microsoft.com/kb/2495786)」という不具合が、Windows VistaのFTP.EXEには「Ftp.exe output cannot be redirected to a file in Windows Vista or in Windows Server 2008(http://support.microsoft.com/kb/2548554)」という不具合があるようです。]]>
Sun, 16 Nov 2014 01:41:07 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#26
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#25 ftp -s:ファイル名を実行した場合にファイル内のコマンドでのエラー(ホストがオープンできないなど)のエラーを拾うことはできませんでしょうか?p_ErrorDataReceivedは発生しますがe.Dataに何も表示されません。]]> Fri, 14 Nov 2014 11:44:46 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#25 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#24 Fri, 21 Mar 2014 18:47:23 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#24 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#23
基本的には、Control.Invokeメソッドを使います。詳しくは、

別スレッドからフォーム、コントロールを扱う
http://codezine.jp/article/detail/139?p=1#form

を参考にしてください。]]>
Mon, 02 Sep 2013 01:30:22 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=process%2Fstandardoutput.html#23