当前位置:  开发笔记 > 编程语言 > 正文

在C#中传递命令行参数

如何解决《在C#中传递命令行参数》经验,为你挑选了2个好方法。

我正在尝试将命令行参数传递给C#应用程序,但我有问题传递这样的东西

"C:\Documents and Settings\All Users\Start Menu\Programs\App name"

即使我加入" "了这个论点.

这是我的代码:

    public ObjectModel(String[] args)
    {
        if (args.Length == 0) return; //no command line arg.
        //System.Windows.Forms.MessageBox.Show(args.Length.ToString());
        //System.Windows.Forms.MessageBox.Show(args[0]);
        //System.Windows.Forms.MessageBox.Show(args[1]);
        //System.Windows.Forms.MessageBox.Show(args[2]);
        //System.Windows.Forms.MessageBox.Show(args[3]);
        if (args.Length == 3)
        {
            try
            {
                RemoveInstalledFolder(args[0]);
                RemoveUserAccount(args[1]);
                RemoveShortCutFolder(args[2]);
                RemoveRegistryEntry();
            }
            catch (Exception e)
            {
            }
        }
        }

这就是我要传递的内容:

C:\WINDOWS\Uninstaller.exe  "C:\Program Files\Application name\"  "username"  "C:\Documents and Settings\All Users\Start Menu\Programs\application name"

问题是我可以正确地获得第一个和第二个args,但是它得到的最后一个args C:\Documents.

有帮助吗?



1> Henk Holterm..:

我刚刚检查并验证了问题.这令我感到惊讶,但这是第一个论点中的最后一个.

"C:\Program Files\Application name\" <== remove the last '\'

这需要更多解释,有人有想法吗?我倾向于把它称为一个错误.


第2部分,我又进行了一些测试

"X:\\aa aa\\" "X:\\aa aa\" next

X:\\aa aa\
X:\\aa aa" next

谷歌的一些小动作可以从Jon Galloway的博客中获得一些见解,基本规则如下:

反斜杠是转义字符

总是逃避报价

只有在引号之前才会转义反斜杠.


@Henk:对不起.这里的森林/树木.我需要休假.

2> Johnno Nolan..:

添加Ian Kemp的答案

如果您的程序集被称为"myProg.exe"并且您传入字符串"C:\ Documents and Settings\All Users\Start Menu\Programs\App name"链接,那么

C:\>myprog.exe "C:\Documents and Settings\All Users\Start Menu\Programs\App name"

字符串"C:\ Documents and Settings\All Users\Start Menu\Programs\App name"

将在args [0].


但是:手头的情况是,如果你调用`myprog.exe"c:\ one \""two""three"`,那么args [0]将是`c:\ one"two three`.试一试!
推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有