掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DOSコマンドを実行(xcopy) (ID:143262)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
psi.Arguments = "/c xcopy C:\tmp d:\tmp /d /e /r /k /y /c" のxcopy C:\tmp d:\tmp /d /e /r /k /y /cが実行出来ません。 DOSプロンプトで手入れすると動作します。 また、他のコマンド psi.Arguments = "/c copy C:\tmp\*.* d:\tmp" 等とすると、以下のプログラムで動作します。 何がおかしいでしょうか? Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Call Shell(Environ$("ComSpec") & "xcopy C:\tmp d:\tmp /d /e /r /k /y /c") Dim results As String Dim psi As New System.Diagnostics.ProcessStartInfo() 'ComSpecのパスを取得する psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec") '出力を読み取れるようにする psi.RedirectStandardInput = False psi.RedirectStandardOutput = True psi.UseShellExecute = False 'ウィンドウを表示しないようにする psi.CreateNoWindow = True 'コマンドラインを指定("/c"は実行後閉じるために必要) psi.Arguments = "/c xcopy C:\tmp d:\tmp /d /e /r /k /y /c" '起動 Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi) '出力を読み取る results = p.StandardOutput.ReadToEnd '出力された結果を表示 MsgBox(results) 'Console.WriteLine(results) 'WaitForExitはReadToEndの後である必要がある '(親プロセス、子プロセスでブロック防止のため) p.WaitForExit() End Sub End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.