相关疑难解决方法(0)

233
推荐指数
11
解决办法
11万
查看次数

在C#中将包含命令行参数的字符串拆分为字符串[]

我有一个字符串,其中包含要传递给另一个可执行文件的命令行参数,我需要提取包含各个参数的字符串[],方法与在命令行中指定命令时C#相同.通过反射执行另一个程序集入口点时将使用字符串[].

这有标准功能吗?或者是否有正确分割参数的首选方法(正则表达式?)?它必须处理'''可能正确包含空格的分隔字符串,所以我不能只拆分''.

示例字符串:

string parameterString = @"/src:""C:\tmp\Some Folder\Sub Folder"" /users:""abcdefg@hijkl.com"" tasks:""SomeTask,Some Other Task"" -someParam foo";
Run Code Online (Sandbox Code Playgroud)

示例结果:

string[] parameterArray = new string[] { 
  @"/src:C:\tmp\Some Folder\Sub Folder",
  @"/users:abcdefg@hijkl.com",
  @"tasks:SomeTask,Some Other Task",
  @"-someParam",
  @"foo"
};
Run Code Online (Sandbox Code Playgroud)

我不需要命令行解析库,只需要获取应生成的String [].

更新:我必须更改预期结果以匹配C#实际生成的内容(删除了拆分字符串中的额外")

c# command-line text-parsing

84
推荐指数
7
解决办法
8万
查看次数

寻找.NET的命令行参数解析器

我正在寻找命令行参数解析器,例如来自http://www.sellsbrothers.com/tools/Genghis/的 "命令行解析器" .

我正在寻找的功能:

  • 自动生成使用情况
  • 应该能够检查必需和可选参数
  • 参数应支持具有分隔符支持的IEnumerable
  • 应该支持标志参数
  • 很高兴支持组合参数,例如"/ fx"=="/ f/x"
  • 在诸如"/ftest.txt"=="/ f test.txt"之类的参数之后不强制空格会很好

PS: "命令行解析器"非常好,我真的很喜欢它的设计,但没有文档,没有新的更新,我无法弄清楚做某些事情,如如何检查所需的参数.

.net c# command-line arguments

79
推荐指数
3
解决办法
3万
查看次数

WPF命令行参数,一种聪明的方式?

我正在寻找一种方法,我可以将命令行参数解析到我的WPF应用程序中,只需一种方法来读取用户传递的参数的值.

举个例子

application.exe /setTime 5
Run Code Online (Sandbox Code Playgroud)

有没有办法让我有一些代码我可以说:

MessageBox.Show(arg("setTime"));
Run Code Online (Sandbox Code Playgroud)

哪个会输出 5

工作方案

如何创建智能WPF命令行参数

c# wpf command-line-arguments

42
推荐指数
2
解决办法
6万
查看次数

实现命令行界面的建议

我正在重新设计命令行应用程序,并正在寻找一种方法来使其使用更直观.传递给命令行应用程序的参数格式是否有任何约定?或者人们发现有用的任何其他方法?

user-interface command-line

36
推荐指数
2
解决办法
2万
查看次数

如何以Dictionary <string,string>的形式从控制台应用程序中获取命名参数?

我有一个名为MyTool.exe的控制台应用程序

什么是收集传递给这个控制台应用程序了命名参数的最简单方法,然后把它们放在一个Dictionarty<string, string>()里面会有参数名称作为键和值作为参数?

例如:

MyTool foo=123432 bar=Alora barFoo=45.9
Run Code Online (Sandbox Code Playgroud)

我应该能够获得一本字典:

MyArguments["foo"]=123432 
MyArguments["bar"]="Alora"
MyArguments["barFoo"]="45.9"
Run Code Online (Sandbox Code Playgroud)

.net c# string parsing console-application

19
推荐指数
2
解决办法
2万
查看次数

读取命令行开关

我正在尝试在C#应用程序中读取用户参数.我知道如何根据位置阅读它们

string[] args = Environment.GetCommandLineArgs();
Run Code Online (Sandbox Code Playgroud)

但是我想从开关中读取它们

app.exe /f /d:foo
Run Code Online (Sandbox Code Playgroud)

我真的很难找到关于这样做的任何信息......

.net c#

17
推荐指数
2
解决办法
3万
查看次数

使用C#获取解决方案文件的父文件夹的路径

我是C#的初学者,我有一个文件夹,我正在从中读取文件.

我想读取位于解决方案文件的父文件夹中的文件.我该怎么做呢?

string path = "";
StreamReader sr = new StreamReader(path);
Run Code Online (Sandbox Code Playgroud)

所以如果我的文件XXX.slnC:\X0\A\XXX\那里,那么读取.txt文件C:\X0\A\.

c# io file path streamreader

11
推荐指数
3
解决办法
5万
查看次数

将一个字符串拆分(NOT PARSE)到命令行参数C#

敬礼,

我有一个似乎是一个简单的问题,但非常不是.我想取一个字符串并将其拆分为命令行参数.几周来我一直在谷歌搜索这个问题,找不到任何适合我需要的东西.

例如,行: --foo=bar -foo="bar test" --foo "bar \"test\"" --foo bar

会分成:( 按此顺序)

  • --foo=bar
  • -foo=bar test
  • --foo
  • bar "test"
  • --foo
  • bar

编辑

是的我意识到--foo一次使用更多.这是分裂/标记化.不解析,这是下一步.当我去解析时,我不在乎是否会出错.我现在要做的是将字符串转换为数组状态,然后我可以将其输入Mono.Options

编辑2

阅读这个例子.这就是我想要实现的目标.只是那个.

.net c# command-line-arguments

9
推荐指数
1
解决办法
2180
查看次数

C#使用多个参数

这是来自一个新的C#家伙,

我一直在这里提出不同的问题,但我没有发现任何直接回答我需要知道的事情.

我有一个控制台应用程序,我想通过命令行传递参数.这是我到目前为止,它正在为一个论点工作,现在我要添加另一个,但我似乎无法弄清楚从哪里开始.

static void Main(string[] args)
{
    if (args == null || args.Length== 0)
    {
        Console.WriteLine("that's not it");
        help();
    }
    else
    {
        for (int i = 0; i < args.Length; i++)
        {
            backupfolder = args[i];
        }
        checks();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我从我的其他声明中取出所有内容,我该如何设置args是什么并分配?以下工作吗?

static void Main(string[] args)
{
    if (args == null || args.Length== 0)
    {
        Console.WriteLine("that's not it");
        help();
    }
    else
    {
        string backupfolder = args[0];
        string filetype = args[1];
        checks();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# command-line-arguments

9
推荐指数
1
解决办法
381
查看次数