vb.net - 静默运行 CMD

标签 vb.net cmd silent

我正在尝试以静默方式运行 CMD,但每次都出现错误。有人可以告诉我哪里出错了吗?

Dim myProcess As Process 
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
myProcess.StartInfo.CreateNoWindow = True 
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr) 
myProcess.Start() 

CmdStr 已经是一个字符串,可以在应用程序中执行我想要执行的某些操作。

最佳答案

我想你的 cmdStr 是一个带有 CMD 参数的字符串。
如果是这样,您需要使用 StartInfo 的 Arguments 属性。
您会在 myProcess 变量上获得 Null 异常,因为它永远不会被 new 实例化。 您可以创建一个 ProcessStartInfo 变量以与静态 Process.Start 方法一起使用,并将 UseShellExecute 设置为 False

Dim startInfo As New ProcessStartInfo("CMD.EXE")
startInfo.WindowStyle = ProcessWindowStyle.Hidden     
startInfo.CreateNoWindow = True 
startInfo.UseShellExecute = False
startInfo.Arguments = CmdStr
Process.Start(startInfo)  

或编辑您的代码以添加

myProcess = new Process() 

在使用 var myProcess 之前

关于vb.net - 静默运行 CMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477776/

相关文章:

c# - FileStream 和 System.IO.File 方法之间的文件访问差异

asp.net - 当条件为 false 时执行单语句 VB.NET If block ? VS 2005 的错误?

Python cmd 模块命令别名

Delphi Tokyo 10.2 的 Powershell 静默/无人值守安装 - 用于在 win docker 容器中使用 CI

vb.net - .NET 从 Word 在 Outlook 中生成电子邮件文本

vb.net - 将字符串转换为十进制,然后再转换回十进制

windows - 根据结果​​将批处理文件输出到文本文件

powershell - 从右键单击菜单中的特定目录以管理员身份打开 PowerShell

android - 静默安装应用程序,并授予 INSTALL_PACKAGES 权限

powershell - 调用表达式 : Positional parameter cannot be found that accepts argument/s