Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

19 Commits

Repository files navigation

NuGetGitHub licenseActions

Flucli

Library for interacting with external command-line interfaces.

Ported from CliWrap and support .netstandard 2.0 without other dependencies.

Support Verb="runas" and simplify some APIs.

Usage

Command

CliResultresult=await"cmd".WithArguments("/c echo Hello World!").ExecuteAsync();Console.WriteLine("ExitCode is "+result.ExitCode);

Piper

StringBuilderstdout=new();StringBuilderstderr=new();varcommand1="cmd".WithArguments("/c echo Hello World!");varcommand2="cmd".WithArguments("/c findstr o").WithStandardOutputPipe(PipeTarget.ToStringBuilder(stdout,Encoding.UTF8)).WithStandardErrorPipe(PipeTarget.ToStringBuilder(stderr,Encoding.UTF8));CliResultresult=await(command1|command2).ExecuteAsync();Console.WriteLine("STDOUT: "+stdout.ToString());Console.WriteLine("STDERR: "+stderr.ToString());Console.WriteLine("ExitCode is "+result.ExitCode);

Parser

StringBuilderstdout=new();StringBuilderstderr=new();Clicommand="cmd /c echo Follow | cmd /c findstr F | cmd /c findstr l*".ParseCli().PipeTail// Switch to tail command.WithStandardOutputPipe(PipeTarget.ToStringBuilder(stdout,Encoding.UTF8)).WithStandardErrorPipe(PipeTarget.ToStringBuilder(stderr,Encoding.UTF8)).PipeHeader;// Switch to header commandCliResultresult=awaitcommand.ExecutePipeAsync();Console.WriteLine("STDOUT: "+stdout.ToString());Console.WriteLine("STDERR: "+stderr.ToString());Console.WriteLine("ExitCode is "+result.ExitCode);

About

Library for interacting with external command-line interfaces.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages