来自 C# 的多个 CMD 命令?

2024-02-20

所以我想知道,如何使用 C# 在 CMD 中执行多个命令?我的意思是……我有一个 .exe 文件,它依赖于通过 cmd 变量 (VAMP_PATH) 查找文件 [是的,我正在使用 VAMP 插件]。所以我在 CMD 中使用它的方式是:

-set VAMP_PATH:C:\ (press Enter)
-sonic-annotator.exe -d etc...

但是,我在尝试将 CMD 与 C# 一起使用方面还很陌生,所以我想知道我应该做什么?目前我有这个代码:

Process p = new Process();
string args = "\"" + sonicannotatorpath + "\" -t \"" + transpath + "\" \"" + filepath + "\" -w csv --csv-force";
p.StartInfo = new ProcessStartInfo("cmd", args)
{
   RedirectStandardOutput = true,
   RedirectStandardInput = true,
   UseShellExecute = false,
   CreateNoWindow = true
};
p.Start();
p.StandardInput.WriteLine(args);
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine("DONE");
Console.Read(); 

上面的代码只执行我的 CMD 命令的第二行...但是由于 .exe 所需的文件已经位于其默认位置,因此不指定 VAMP_PATH 命令没有问题。

我的问题是我不知道如何添加另一个命令。我是否只需要复制 p.StandardInput.WriteLine 命令并输入另一个命令作为参数?因为我读到这方面存在一些问题。

另外,我想问一下,因为如果没有 p.StandardInput.WriteLine 命令,并且仅使用 ProcessStartInfo 中的“args”参数,我的命令根本不会执行(即使将 \c 添加到 args)。你为什么认为这是?

Thanks!


如果不先完成第一个进程,则无法从一个进程对象运行两个命令(实际上是两个进程)。

运行第一个,调用p.WaitForExit();然后构建并运行第二个。

为了启动该过程,您不需要像当前那样将参数写入命令行。它应该按照你正在做的方式工作。

p.StartInfo.Arguments = args;
p.StartInfo.FileName = "cmd";

可以为您设置参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 C# 的多个 CMD 命令? 的相关文章

  • C# 中两种不同类型的列表

    我目前在为客户提供购物车时遇到问题 他希望能够在 CartItems 之间添加文本 所以我想知道是否有某种方法仍然只有一个列表 我的解决方案是有两个列表 其中一个是 IList 类型 在计算购物车的重量和总体价格时会迭代 而另一个 ILis
  • TFS API - 缓慢的 foreach 变更集迭代

    问题背景 我正在使用 TFS api 查询 TFS 服务器上的大范围 1 600 文件 我从每个文件中收集其所有 ChangesetId 然后将其收集在列表中 代码 这是我正在使用的代码 它可以正确生成 QueryHistory 方法中指定
  • 在单个 C# 泛型方法中返回可为 null 和 null?

    C 泛型方法是否可以返回对象类型或 Nullable 类型 例如 如果我有一个安全的索引访问器List我想返回一个值 稍后我可以使用以下任一方法检查该值 null or HasValue 目前我有以下两种方法 static T SafeGe
  • 如何正确实现带有 close 方法的处置模式(CA1063)

    框架设计指南 第二版 第 327 页 说 考虑提供方法Close 除了Dispose 如果接近 是该领域的标准术语 这样做时 重要的是使 Close 实现与Dispose并考虑实施IDisposable Dispose方法明确 因此 按照提
  • 如何在Qt3D中优化点云渲染

    我正在尝试使用 Qt3D 显示大型点云 20M pts 我第一次发现这个图书馆https github com MASKOR Qt3DPointcloudRenderer https github com MASKOR Qt3DPointc
  • 获取不带波形符的泛型类名称[重复]

    这个问题在这里已经有答案了 我正在尝试获取类型名称T使用这个 typeof T Name 班级名称是ConfigSettings 而不是返回ConfigSettings它正在返回ConfigSettings 1 有什么具体原因吗 我怎样才能
  • 用于轻松动态反射的 C# 库

    是否有任何库 例如开源项目等 可以更轻松地使用复杂的反射 例如动态创建对象或类 检查实例等 Thanks 有一个LinFu http www codeproject com KB cs LinFuPart1 aspx可用的库除了反射之外还可
  • C 风格强制转换与内在强制转换

    假设我已经定义了 m256d x我想提取低 128 位 我会做 m128d xlow mm256 castpd256 pd128 x 然而 我最近看到有人这样做 m128d xlow m128d x 是否有用于演员的首选方法 为什么要用第一
  • 关于 FirstOrDefault 或 SingleOrDefault

    FirstOrDefault 或 SingleOrDefault 将返回什么类型的数据 假设我的查询返回 3 条记录 例如 empid ename salary 1 joy 1500 2 rob 4500 3 jen 6500 所以如果我们
  • 如何使用 Linq to Sql 修剪值?

    在数据库中 我有一个名为 联系人 的表 名字和其他此类字符串字段设计为使用 Char 数据类型 不是我的数据库设计 我的对象 Contact 映射到属性中的字符串类型 如果我想做一个简单的测试 通过 id 检索 Contact 对象 我会这
  • 获取RFC返回的嵌套结构的值?

    我是 C 新手 我有 rfc 它以嵌套结构的形式从 SAP 系统返回数据 但是当我使用以下方式获取该数据时 IrfcTable table rfc getTable exporting parameter et customer 它仅返回第
  • 如何在PropertyGrid中自定义绘制GridItem?

    我想以与所有者在 ListView 详细信息 和其他控件中绘制项目类似的方式在 PropertyGrid 中绘制属性值 如果将属性声明为 Color 类型 则其值将使用字符串描述旁边的颜色样本来绘制 如果属性是图像类型 则在字符串描述旁边绘
  • 为什么 g++ 在编译的二进制文件中存储类名?

    我注意到如果我跑strings在我编译的程序上g 输出包含它使用的各种类的名称 该程序是用 O3并且没有 g or p 并且当我剥离二进制文件时 类名仍然存在 我想知道为什么有必要g 将此信息存储在二进制文件中 出现的类名似乎都是使用虚函数
  • Sharepoint 的 CAML 查询中的日期时间比较

    我正在尝试从共享点列表中获取某些项目 具体取决于自定义列中的日期 我已经使用 U2U Caml Builder 创建了查询 这很有效 但是当我将其放入 Web 部件中自己的代码中时 它总是返回列表中的所有项目 这是我的代码 DateTime
  • 使用客户端 hello 消息进行 TLS 协议检测

    我需要检测网络流量中的 https 数据包 到目前为止 我将所有 443 标记为 https 但我不想再在这种情况下使用端口信息 检查客户端问候消息是否足够 Check 22 and version info 0300 0301 or 03
  • 如何重写(重新实现)QFileSystemModel 中的成员函数

    我已经为此苦苦挣扎了一段时间 Qt s QFileSystemModel由于图标获取算法非常糟糕 在获取数百个文件时速度非常慢 我想完全禁用图标 它们被提取到QFileSystemModel data方法不是虚拟的 QFileSystemM
  • Opencv 对象检测:ORB GPU 检测器和 SURF GPU 描述符提取器

    我只是做了一个小实验来尝试不同的检测器 描述符组合 我的代码使用 ORB GPU 检测器来检测特征 并使用 SURF GPU 描述符来计算描述符 我使用 BruteForceMatcher GPU 来匹配描述符 并使用 knnMatch 方
  • 错误:C# 尝试读取或写入受保护的内存

    我很难纠正这个错误 该应用程序在 4 台不同的机器上进行了测试 在其中 3 台上运行良好 但一台 Vista PC 在尝试通过 WebBrowser1 打开页面时出现此错误 解决这个问题的任何帮助对我都会非常有帮助 System Acces
  • 如何将 IDispatch* 放入托管代码中

    我一直在考虑尝试使用 C 编写一个实现 OPOS 服务对象的 COM 对象 我已经使用自动化和 MFC 在 C 中完成了它 这并不太困难 所以我坚持尝试将其转换为一种方法 我将排除界面中的其他方法 因为它们很简单 或者我希望如此 id 6
  • C++11 中引入了哪些重大更改?

    我知道 C 11 中至少有一项更改会导致一些旧代码停止编译 引入explicit operator bool 在标准库中 替换旧实例operator void 诚然 这将破坏的代码可能是一开始就不应该有效的代码 但它仍然是一个破坏性的变化

随机推荐

  • 如何向标准信号处理程序添加代码?

    我有一个在 Linux 上运行的 C 应用程序 我需要向标准信号处理程序添加一些代码 我的想法是设置我的处理程序 将指针保存到标准处理程序 并从我的代码中调用保存的处理程序 不幸的是 signal 和 sigaction 都没有返回指向标准
  • 如何使用 Erlang/OTP 25 编译器重新编译 rebar3?运行灵药 1.13.4

    我正在关注免费的截屏视频 教程凤凰城 LiveView 启动器 https online pragmaticstudio com courses liveview starter modules 2但我什至无法开始 因为mix setup失
  • 逐行过滤输入流

    我正在从 Amazon S3 检索大型 gzip 压缩文件 我希望能够即时转换这些文件的每一行并将输出上传到另一个 S3 存储桶 上传 API 需要一个InputStream https docs aws amazon com AWSJav
  • 用鼠标拖动无边框窗口形式[重复]

    这个问题在这里已经有答案了 可能的重复 C 使无边框表单可移动 https stackoverflow com questions 1592876 c sharp make a borderless form movable 我通过设置在
  • IE11通过javascript检测兼容性视图是否打开

    有谁知道当我通过 javascript 访问网站时如何检查 IE 11 兼容模式是否打开 我将 url 添加到列表兼容性视图设置中 但当我这样做时 navigator userAgent 在开发者工具中 它返回 Mozilla 5 0 Wi
  • 如何建立 FTP 连接?

    我正在尝试使用 iPhone iPad 模拟器 Xcode 设置 FTP 连接 到目前为止 我发现我需要使用 CFFTP API 但我没有成功 我浏览了网络 最终遵循了我认为最清楚的内容 即 http developer apple com
  • MySQL服务器“正在读取初始通信数据包”,系统错误:111 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我将我的网站移至戈达迪服务器 但是即使进行了足够的更改 SQL 连接也无法工作 而之前工作得很好
  • FormsAuthenticationTicket.expiration v web.config 值超时

    这是一个 MVC2 网站 我在 FormsAuthentication 票证方面遇到问题 用户超时30分钟后无法重新登录 在测试期间 DateTime Now AddMinutes 30 值设置为 5000 一切正常 但现在已更改为 30
  • 如何为 Swagger UI 定义 [FromQuery] 参数的默认值?

    我有一个行动 HttpGet Route foo public ActionResult Foo FromQuery MyClass request var image ToImage WidgetType MedianSalesPrice
  • 什么是以及如何从我的数据库中删除表空间错误? [复制]

    这个问题在这里已经有答案了 由于负载脱落问题 我的数据库中的一张表已损坏 我删除了该表 现在我想再次创建该表 我明白了error 错误 1813 表 的表空间zorkif sys user accounts 存在 请在导入之前丢弃表空间 S
  • 如何/在哪里定义 Xcode 中的 App ID 前缀?

    作为一名新的 iOS 开发人员 我尝试为我的应用程序定义 Bundle Seed ID 应用程序 ID 前缀 Xcode 中如何 在哪里定义 Bundle Seed ID 应用程序 ID 前缀 请提供详细步骤 链接在这里 https dev
  • 在设计模式下显示带有自定义控件的 WinForm 时出错

    我有一个属于类库一部分的用户控件 我从我的解决方案中引用了这个项目 这会将引用项目中的控件添加到我的工具箱中 我将控件添加到表单中 一切看起来都不错 我编译并运行 完美的 但是当我关闭带有控件的 frm 并重新打开它时 出现此错误 代码继续
  • nsdictionary 中的块?

    因此 我将块操作存储到 nsmutabledictionary 中 然后在 Websocket 上返回响应时调用它们 这会将异步请求转换为块语法 这是精简的代码 void sendMessage NSString message respo
  • Gradle compileKotlin includeRuntime 未将运行时添加到 jar

    我有一个 Kotlin Gradle 项目 我想在 jar 文件中包含 Kotlin 的运行时和 stdlib 我目前正在使用它 但当我使用 build gradle 配置构建项目时 它不包括运行时或 stdlib compileKotli
  • 不循环C++计算数字的位数

    我必须计算一个数字的位数 我将数字除以 10 直到得到 0 每次迭代都会递增计数器 int num cin gt gt num while num gt 0 counter num num 10 挑战不在于使用任何循环或递归 而只是使用if
  • Spring Boot - 创建泛型存储库

    我的 Web 应用程序中有许多服务执行经典的 CRUD 操作 这些是参数部分 为了避免为每个实体类创建一个存储库接口 我想创建一个通用存储库 我尝试了下面的代码 但只有当我有一个控制器时才有效 public class BaseContro
  • python 中的公平信号量

    python 中是否有可能有一个公平的信号量 它可以保证阻塞线程按照它们调用的顺序解除阻塞acquire 您可能必须用其他活动部件来构建一个 例如 创建一个Queue Queue 每个听众都会发布一个全新的Event 然后它会等待 当需要唤
  • delphi 中打印到非默认打印机

    我想使用 Delphi 将打印作业发送到打印机 理想情况下 我希望能够在不让用户从打印对话框中选择打印机的情况下执行此操作 我希望能够使用 Windows 默认打印机以外的打印机 我尝试通过打印机名称设置打印机 Vcl Printers P
  • 如何处理尺寸未知的二维数组?

    我正在编写一个用于矩阵乘法的 C 函数 它需要两个二维整数数组 如果我知道输入数组的尺寸 我就可以做到这一点 但我想创建一个更通用的函数 如何找到它们的尺寸 以及当我在编译时不知道产品的尺寸时如何返回数组 如果您只有指向数组开头的指针 则无
  • 来自 C# 的多个 CMD 命令?

    所以我想知道 如何使用 C 在 CMD 中执行多个命令 我的意思是 我有一个 exe 文件 它依赖于通过 cmd 变量 VAMP PATH 查找文件 是的 我正在使用 VAMP 插件 所以我在 CMD 中使用它的方式是 set VAMP P