在 C# 中传递命令行参数

2023-11-22

我正在尝试将命令行参数传递给 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"

问题是我可以正确获得第一个和第二个参数,但最后一个参数是C:\Documents.

有什么帮助吗?


我刚刚进行了检查并验证了问题所在。这让我感到惊讶,但这是第一个参数中的最后一个 \ 。

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

这需要更多解释,有人有想法吗?我倾向于称其为错误。


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

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

becomes

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

谷歌的一点行动提供了一些见解乔恩·加洛韦的博客,基本规则是:

  • 反斜杠是转义字符
  • 总是逃避引号
  • 仅当反斜杠位于引号之前时才转义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中传递命令行参数 的相关文章

  • 数字或货币的字符串格式?

    我需要为每个千给出逗号 所以我用了DataFormatString 0 它运行良好 但当值为0 它正在显示 00 我只想只显示 0 我们怎样才能做到这一点 DataFormatString 0 C0 这将格式化为小数点后 0 位的货币 Da
  • 当我在 C 中将 long int 赋值给 int 时会发生什么?

    在最近的作业中 我被告知要使用long变量来存储结果 因为它可能是一个很大的数字 我决定在我的系统 英特尔酷睿 i5 64 位 Windows 7 gnu gcc 编译器 上检查这对我来说真的很重要 并发现以下代码 printf sizeo
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 如何将 int.TryParse 与可为空的 int 一起使用? [复制]

    这个问题在这里已经有答案了 我正在尝试使用 TryParse 来查找字符串值是否为整数 如果该值为整数 则跳过 foreach 循环 这是我的代码 string strValue 42 if int TryParse trim strVal
  • MPI_Gather 分段错误

    我有这个并行高斯消除代码 调用以下任一方法时会发生分段错误MPI Gather函数调用 我知道如果没有为任一缓冲区正确分配内存 可能会出现此类错误 但我看不出内存管理代码有什么问题 有人可以帮忙吗 Thanks Notes 该程序从一个 t
  • esp8266互联网交换机问题

    我正在尝试制作一个门继电器开关系统 我可以通过端口转发从任何地方进行操作 我找到了一个非常有用的指南和代码 我的程序基于 https openhomeautomation net control a lamp remotely using
  • 三元运算的结果(类型)是什么?

    三元运算是否返回副本或引用 我检查了以下代码 vector
  • 是否可以将 CMFCToolBar 添加到对话框中?

    我刚刚尝试了将 CToolbar 添加到新 CMFCToolBar 上的对话框的标准方法 但这不起作用 在我深入研究新的实现之前 我想知道它是否真的可行 我不确定你所说的 标准方式 是什么意思 但你当然可以以编程方式做到这一点 In MyD
  • 如何防止打印屏幕

    我有一个要求 我正在开发的应用程序阻止用户轻松捕获屏幕内容 我已经表示 没有可行的方法可以完全防止这种情况发生 但我正在寻找方法来为这一过程引入一些障碍 我正在使用 C NET 2 0 和 WinForms 你不能 您能做的最好的事情就是在
  • 传输数据的 Symbol.WPAN.Bluetooth 示例

    我正在尝试将 EMDK 附带的 Symbol WPAN Bluetooth 用于 Symbol 设备 有人碰巧有一个传输数据的工作示例吗 Symbol 的示例只是将设备配对 他们显然认为在个人局域网示例中并不真正需要传输数据 不管怎样 我知
  • 以编程方式打开网页并以字符串形式检索其 html 包含内容

    我有一个 Facebook 帐户 我想提取我朋友的照片及其个人详细信息 例如 出生日期 就读学校 等 我能够提取我每个朋友帐户的 Facebook 首页的地址 但我不知道如何以编程方式打开我每个朋友首页的网页并将 html 包含保存为字符串
  • C# 从字符串变量中获取类型并在泛型方法中使用它

    我希望能够通过某种方式 即从数据库 获取我收到的字符串值的实际类型 这样我就可以在通用方法中使用该类型 例如DoSomething
  • 无法在 Visual Studio Code 的 C# 输出上键入任何内容

    所以我试图在 vscode 上运行一个非常基本的 C 程序 代码如下 using System namespace HelloWorld class Program static void Main string args string N
  • Web Api 2 在 OWIN 中间件中获取控制器和操作名称?

    如何在自定义 OWIN 中间件中检索 api 控制器名称和 api 操作名称 我可以在消息处理程序内部执行此操作 如下所示 var config request GetConfiguration var routeData config R
  • 如果未先将 lambda 表达式强制转换为委托或表达式树类型,则无法将其用作动态分派操作的参数

    我正在使用 NET4 5 和 VS2013 我有这个查询dynamic来自数据库的结果 dynamic topAgents this dataContext Sql select t create user id as User sum t
  • timeval_subtract 解释

    使用 timeval subtract 函数来查找两个 struct timeval 类型之间经过的时间 有人可以解释一下用于 通过更新 y 执行后续减法的进位 和其他部分的目的和逐步数学吗 我了解该函数的目的以及如何在程序中实现它 但我想
  • Linq 表达式树 Any() 问题

    您好 我在使用 Any 扩展方法的表达式树时遇到问题 这是我的代码 IQueryable
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 复杂对象上的 GroupBy(例如 List

    Using GroupBy and Count gt 1我试图在列表中查找我的类的重复实例 该类看起来像这样 public class SampleObject public string Id public IEnumerable
  • 同时使用多个控制台

    是否有捷径可寻 我现在仅使用控制台测试我的网络应用程序 最好的办法是从一个项目中拥有多个控制台 然后按一下 立即调试 菜单项 我可以像过去一样使用多个项目 但这似乎很笨拙 理想情况下 我可以启动多个控制台实例 从同一线程运行很好 并且让它们

随机推荐

  • 使用 CodeIgniter 重定向

    谁能告诉我为什么我的重定向助手不能按我期望的方式工作 我正在尝试重定向到主控制器的索引方法 但这需要我www example com index provider1 当它应该路由到www example com provider1 这对任何
  • HTML5 日期验证

    我正在寻找对移动网站实施验证 其中我有两个输入字段 我希望第一个验证值不晚于今天的日期 第二个验证值不晚于提前一年的第一个值 E g 第一个值 26 11 2013 第二个值不能包含晚于 26 11 2014 的值 这可能吗 I like
  • HTML 拖动事件在 Firefox 中不会触发

    我有一个表格 需要在其上实现可拖动的标题列 我使用 Chrome 作为浏览器来实现它 一切正常 当我在 Firefox 17 0 1 中测试它时 我注意到drag事件不会触发 dragstart不过确实如此 我在下面的标记中简化了问题 在
  • 如何使用 Quartz 2D 向 UIImage 或 UIImageView 添加阴影?

    如何使用 Quartz 2D 向图像添加阴影UIImage or UIImageView 有代码示例吗 imageView layer shadowColor UIColor blackColor CGColor imageView lay
  • 如何使用 Java 找出默认文件打开程序?

    我需要找出 Windows 上给定文件的默认文件打开器 以便我可以自定义命令参数并使用默认打开器 查看器打开文件 我的真实使用场景是使用用户的默认媒体播放器打开多个多媒体文件 以便所有文件都将添加到用户的播放列表中 对于可以在同一实例上打开
  • 在 CQRS 中,创建实体时如何构建响应?

    如果使用 CQRS 并创建一个实体 并且其某些属性的值是其构造函数的一部分生成的 例如默认值 active的值status属性 或当前日期时间createdAt 如果您的命令处理程序无法返回值 如何将其包含在响应中 您需要在创建实体之前创建
  • 可以更改目录并在脚本完成后保留更改吗?

    在试图回答的过程中向其他用户提问 我发现了一些引起我好奇的事情 import os os chdir 就Python而言 将更改工作目录 所以如果我在 home username 然后我跑os chdir 任何后续代码都会像我一样工作 ho
  • GIT 的名字不明确?

    我正在尝试查看我的本地分支机构之一 名为 TEAM20 lab2 release 当我尝试执行此操作时 出现不明确的引用名称错误 git branch TEAM20 lab2 release warning refname TEAM20 l
  • pythontensorflow导入dll加载失败

    我安装了最新的 python 3 6 4 x64 版本 然后使用 pip3 安装仅用于 cpu 的tensorflow C gt pip3 install tensorflow 但是当我尝试在 python 中导入tensorflow时 它
  • 如果 main 方法完成执行,任何长时间运行的线程会发生什么?

    since main 在线程上运行 并且一旦main 完成后 主线程应该停止 因此 如果main 调用了一个长时间运行的线程 即使在main 已完成所有任务 自从main 返回后 其他线程会被终止吗 我觉得不是 但为什么 public st
  • 为什么 git 标签没有出现在任何分支上?

    我克隆了蚊子仓库有标签的v1 4 9 但是 标记的提交似乎不在分支上 怎么会发生这种事 作者实际上是否在自己的存储库上保留了一个分支 但只将标签从该分支推送到 GitHub 或者他只是对标签做出了承诺 我将标签制作为本地分支 git che
  • 设置以年为单位的时间跨度格式

    我有一个具有 2 个日期属性的类 FirstDay and LastDay LastDay可以为空 我想生成一个格式为的字符串 x year s y day s 如果总年份小于 1 我想省略年份部分 如果总天数小于 1 我想省略日期部分 如
  • 在 Java 上嵌入 XULRunner 应用程序

    我的目标是让 Limewire JAVA 和 Songbird XULRunner 一起运行 我认为最好的方法是在 JAVA swing 面板内运行 XUL 应用程序 songbird 还有别的办法吗 将 GUI 完全放在 XUL 中 然后
  • VBA 展望。尝试从电子邮件正文中提取特定数据并导出到 Excel

    我在这里找到了很多指南 这些指南使我达到了目前的水平 但我需要一些帮助来完成我的代码 我在这方面完全是新手 所以请耐心等待 我正在尝试在 Outlook 中使用 VBA 将 Outlook 某个文件夹中的电子邮件中的数据导出到 Excel
  • “无法解析的日期:1302828677828”尝试使用 Gson 反序列化从服务器收到的毫秒格式日期

    经过 4 个小时不停地尝试解决问题后 我决定在这里询问是否有人可以帮助我 问题是我的 Android 客户端在尝试反序列化从服务器接收的数据时抛出 无法解析 1302828677828 异常 我想知道是否可以使用 Gson 反序列化毫秒格式
  • 使用 django-allauth 进行多重注册、注册表单

    我正在开发的应用程序需要两种不同类型的用户单独登录 我们需要 客户 和 企业 所有者能够注册 对于 企业 所有者 我需要做的就是设置布尔值user is business to True 我用过ACCOUNT SIGNUP FORM CLA
  • 如何让vim在运行带有“!”的命令时使用与我的登录shell相同的环境?

    I use ls执行 bash 命令 但是在我配置了类似的东西之后source usr profile in profile文件 vim 也不会获取该文件 所以当我想执行在中声明的函数时usr profile 我必须跑 source usr
  • jQuery 工具可使用鼠标滚轮滚动 - 滚动一个位置并停止

    我正在使用绑定 取消绑定进行鼠标滚轮滚动 基于此响应 Jquery 取消绑定鼠标滚轮事件 然后在操作完成后重新绑定它 我正在从 delta 向上挖掘事件树 以仅针对 X 鼠标滚轮值 一切都运转良好 我试图克服的问题 我想简单地向前 向后滚动
  • 在 Openshift 上部署 Sails.js ...应用程序一遍又一遍地重新启动 [重复]

    这个问题在这里已经有答案了 我要部署sails js 版本0 9 7 应用程序开放式换档但是之后git push我得到这个日志 debug Lowering sails DEBUG Starting child process with n
  • 在 C# 中传递命令行参数

    我正在尝试将命令行参数传递给 C 应用程序 但在传递类似这样的内容时遇到问题 C Documents and Settings All Users Start Menu Programs App name 即使我添加 到论点 这是我的代码