DOSコマンドの実行


.NETよりDOSコマンドを実行するサンプル

Public Class Form1

    'テスト用ドライバ
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'コマンドラインを指定
        Dim strBat As String = "TYPE D:\hoge1.txt >> D:\hoge2.txt"
        
        Call Proc_Start(strBat)

    End Sub

    '
    '   コマンドの実行サブ
    '
    Private Sub Proc_Start(ByVal inCmd As String)
        Dim psi As New System.Diagnostics.ProcessStartInfo()
        Dim result As String

        'cmd.exeのパスを取得する
        psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")

        '実行パラメタ
        psi.RedirectStandardInput = True
        psi.RedirectStandardOutput = True
        psi.UseShellExecute = False

        'ウィンドウを非表示
        psi.CreateNoWindow = True

        'コマンドラインをセット(★"/c"は実行後閉じるために必要!!)
        psi.Arguments = "/c " & inCmd

        '実行
        Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi)

        '戻り値の受け取り
        result = p.StandardOutput.ReadToEnd

        '終了まで待機
        p.WaitForExit()

    End Sub

End Class


動作確認環境:Visual Stadio 2005