找到了几种在VB.NET中调用CMD命令行的方法。
第一种:
shell("copy /b jmdcw.jpg+jmdcw.rar jmdcw1.jpg",0)
第二种:
Shell("cmd.exe /c copy /b jmdcw.jpg+jmdcw.rar jmdcw1.jpg")
第三种:
Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False '关闭Shell的使用
p.StartInfo.RedirectStandardInput = True '重定向标准输入
p.StartInfo.RedirectStandardOutput = True '重定向标准输出
p.StartInfo.RedirectStandardError = True '重定向错误输出
p.StartInfo.CreateNoWindow = True '设置不显示窗口
p.Start()
p.StandardInput.WriteLine( "copy /b jmdcw.jpg+jmdcw.rar jmdcw1.jpg")
p.StandardInput.WriteLine("exit")
其中第三种最好用,只需稍加修改,就可以实现让他先执行完cmd命令之后,再执行接下来的代码,如:
Sub _CMD(ByVal Data As String)
Try
Dim p As New Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardInput = True
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.RedirectStandardError = True
p.StartInfo.CreateNoWindow = True
p.Start()
Application.DoEvents()' 实现进程的同步,防止程序出现假死的状态
p.StandardInput.WriteLine(Data)’这个Data就是cmd命令
p.StandardInput.WriteLine("Exit")‘这个是退出语句
Dim strRst As String = p.StandardOutput.ReadToEnd()’执行完语句后取得显示内容.
p.Close()
Catch ex As Exception
End Try
‘之后就可以添加需要执行完命令行才接着执行的代码了...
End Sub