コマンドプロンプトで指定したコマンドを実行する

2021年8月22日

ExecuteCommandPrompt関数

コマンドプロンプト上で引数で指定したコマンドを実行し、実行結果を取得する関数。
ShowErrorMessage関数についてはリンク先をご参照ください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'==================================================
' <summary>
' コマンドプロンプトで指定したコマンドを実行する
' </summary>
' <param name="command">コマンド</param>
' <returns>コマンド実行結果</returns>
'==================================================
Public Function ExecuteCommandPrompt(ByVal command As String) _
        As String
 
    Dim result As Object
 
    On Error GoTo Catch
 
    ExecuteCommandPrompt = ""
 
    With CreateObject("WScript.Shell")
        With .exec("%ComSpec% /c " &amp;amp; command)
 
        Do While .Status = 0
            DoEvents
        Loop
 
        ExecuteCommandPrompt = .StdOut.ReadAll
 
        End With
    End With
 
    Exit Function
 
Catch:
    Call ShowErrorMessage("ExecuteCommandPrompt")
 
End Function

実行方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
'==================================================
' <summary>
' ExecuteCommandPrompt関数のテスト
' </summary>
'==================================================
Sub TestExecuteCommandPrompt()
 
    Dim result As String
 
    result = ExecuteCommandPrompt("dir C:\Test")
 
    MsgBox result
 
End Sub

実行結果