不要从路径名中删除字符

本文关键字:删除 字符 路径名 | 更新日期: 2023-09-27 18:10:14

我有一个Windows窗体应用程序,它也接受命令行参数。你可以自己运行程序,它有一个GUI,但当你在CLI中运行它时,似乎c#从我提供给它的参数中删除了一些字符。

它是这样工作的:

RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15& m = c

应用程序加载但崩溃,因为c#删除了URL的最后一部分!所以它真正看到的是

RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15

它删除了"&m=c"部分,在我的CLI中,我得到这个错误:

C:'Users'admin'Documents'Visual Studio 2010'Projects'RemoveHTML'RemoveHTML'bin'Debug>RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15 
'm' is not recognized as an internal or external command,operable program or batch file.

我的代码位于Form1_Load部分,它是:

string MyURL;
string[] WebURL;

……

        private void Form1_Load(object sender, EventArgs e)
        {
            string[] args = Environment.GetCommandLineArgs();
            foreach (string arg in args)
            {
                WebURL[0] = args[1];
                //WebURL[0] += "&m=c";
                //WebURL[0] += (WebURL[0] + "&m=c");
                //WebURL = args[1];
                //MessageBox.Show(WebURL);
                runtimeButton_Click(sender, e);
            }
}

我正试图找到一种方法,不让c#删除非法字符,任何想法?

不要从路径名中删除字符

调用应用程序时,将URL放在引号中。

RemoveHTML.exe "http://illen/configtc.aspx?IP=192.168.0.15&m=c"

这不是。net或c#的限制。这就是命令解析器的工作方式。