使用 CliWrap 是一种方便、简单,并且推荐的 C# 调用命令行工具的方式。CliWrap 提供了一个类 CliWrap.Cli,该类封装了启动外部程序和与其进行交互的逻辑。
安装
要使用 CliWrap,需要将它添加到 C# 项目中。添加的方式有以下两种:
- NuGet:通过 NuGet 包管理器安装 CliWrap。打开 Visual Studio,打开“工具” -> “NuGet 包管理器” -> “程序包管理器控制台”,输入以下命令,即可安装 CliWrap:
Install-Package CliWrap
- 在 GitHub 上下载最新版本的 CliWrap,然后将其添加到项目中。
使用
1. 基本使用
var result = await Cli.Wrap("git")
.WithArguments("status")
.ExecuteAsync();
该示例展示了如何使用 CliWrap 执行 Git 命令行的 git status
命令。 Cli.Wrap
接受要执行的命令行工具的名称作为参数。 .WithArguments
方法用于指定要传递给工具的参数。
2. 高级用法
var cmd = Cli.Wrap("tar")
.WithArguments("-zxvf")
.WithWorkingDirectory("C:/temp")
.WithValidation(CommandResultValidation.None)
.WithStandardOutputPipe(PipeTarget.ToDelegate(line => Console.WriteLine($"stdOut: {line}")))
.WithStandardErrorPipe(PipeTarget.ToDelegate(line => Console.WriteLine($"stdErr: {line}")))
await cmd.ExecuteAsync();
该示例展示了 CliWrap 的一些高级用法。Cli.Wrap
与前一个示例相同,接受要执行的命令工具的名称作为参数。.WithArguments
与前一个示例也是相同的,用于指定传递给工具的参数。.WithWorkingDirectory
用于设置工作目录,工具将在其中执行;.WithValidation
用于指定将要检查的结果;.WithStandardOutputPipe
和 .WithStandardErrorPipe
用于将工具的输出和错误信息输入到委托中。
总结
这篇攻略介绍了 CliWrap 的基本和高级用法。使用 CliWrap 可以方便地调用命令行工具,帮助开发者解决许多问题。由于 CliWrap 是开源的,因此您可以直接在 GitHub 上访问它,了解更多用法和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用 CliWrap 让C#中的命令行交互(推荐) - Python技术站