如何转义包含空格的路径

2024-02-19

要将带有空格的路径传递给 .NET 控制台应用程序,您应该转义它。可能不是转义而是用双引号引起来:

myapp.exe --path C:\Program Files\MyApp`

becomes

new string[] { "--path", "C:\Program", "Files\MyApp" }

but

myapp.exe --path "C:\Program Files\MyApp"

becomes

new string[] { "--path", "C:\Program Files\MyApp" }

它工作得很好,你可以轻松解析它。

我想扩展给定的一组参数并添加一个参数,并使用生成的参数组启动一个新过程:

new ProcessStartInfo(
    Assembly.GetEntryAssembly().Location,
    String.Join(" ", Enumerable.Concat(args, new[] { "--flag" })))

这变成myapp.exe --path C:\Program Files\MyApp --flag路径放弃转义的地方。

如何用常见的解决方案来解决这个问题? (无需搜索每个参数的值,需要手动转义和引用它)


我认为这是不可能的,因为空格是 CLI 参数的分隔符,因此需要对它们进行转义。

您可以很好地将其提取到扩展方法中,这样您就可以运行args.Escape()在你上面的代码中。

public static string[] Escape(this string[] args)
{
    return args.Select(s => s.Contains(" ") ? string.Format("\"{0}\"", s) : s).ToArray();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何转义包含空格的路径 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 在 JavaScript 上添加/删除监听器(垃圾收集器)

    我有一个关于添加 删除 DOM 对象的侦听器的快速问题 我想问垃圾收集器是否能够在从页面中删除元素时收集内存 示例 一个 ul 带有几个孩子列表的标签 li var ul document getElementById someParent
  • 带有模板参数的模板中的默认值 (C++)

    假设我有一个模板 称为 ExampleTemplate 它接受两个参数 容器类型 例如列表 向量 和包含类型 例如 float bool 等 由于容器实际上是模板 因此该模板有一个模板参数 这就是我必须写的 include
  • python 异常。UnicodeDecodeError: 'ascii' 编解码器无法解码字节 0xa7

    我正在将 scrapy 与 python 结合使用 并且在 python item pipline 中有此代码 def process item self item spider import pdb pdb set trace ID st
  • Django 表单 - 验证错误后重新加载时变量类型发生变化

    我花了一些时间 但无法找出以下行为的确切原因 我有一个 Django 表单 在模板中我试图查看列表中是否存在整数 然后用它做一些事情 if pk in form area value form area value is a list li
  • 有没有办法设置X轴的背景颜色

    我检查了文档 我能找到的只是设置笔划 但我需要整个 x 轴背景不仅仅是字体颜色 Renaldo Balaj 好吧 你可以像这里一样向你的图表添加一个 svg 元素 https codesandbox io s highlight zomm
  • 如何比较两个日期[重复]

    这个问题在这里已经有答案了 我有一个带有 PHP 前端的 MySQL 数据库 在我的记录中 我有一个直接从数据库访问的发布日期和到期日期 我需要做的是检查并查看是否有任何记录的过期日期与发布日期相符 就像是 你可以这样做 posted da
  • LiveData 观察者未调用

    我有一个活动 TabBarActivity承载一个片段 EquipmentRecyclerViewFragment 片段收到 LiveData 回调 但 Activity 没有 在调试模式下使用断点进行证明 奇怪的是 如果我调用 ViewM
  • dyld:惰性符号绑定失败:找不到符号:_PQsetErrorContextVisibility

    跑步时 psql 我收到这个错误 dyld lazy symbol binding failed Symbol not found PQsetErrorContextVisibility Referenced from usr local
  • 未定义引用错误,无法创建共享库

    尝试了很多方法来解决问题但没有运气 这是我的 Android mk LOCAL PATH call my dir include CLEAR VARS LOCAL MODULE avcodec LOCAL SRC FILES libavco
  • 什么是最好的:每条记录 1 个表,还是 1 个表中所有记录都与外键链接?

    我有一个应用程序 可以让用户创建不同的表单 调查 然后填写它们 所以它是纸张的替代品 这是我在应用程序中使用的当前模型 Table 1 SURVEYS TABLE ID name description Table 2 name of th
  • 会话与会话工厂之间的区别 - Hibernate?

    除了以下几点之外 我们还有其他差异吗 另请验证以下是否正确 SessionFactory每个应用程序都有一个对象 并且Session每个客户只有一个对象 SessionFactory是创建和管理Sessions Session就是提供一个C
  • Android TableLayout 不垂直滚动

    预先感谢您的任何帮助 我对 Android 很陌生 这是我的问题 我正在使用 TableLayout 来显示可编辑字段 大约有二十行要显示 在较小的设备上 行会溢出屏幕 我需要视图允许用户上下滚动 我缺少什么 尝试将 TableLayout
  • 在windows上打开指定目录下的Cygwin命令

    我使用 phpstorm 和它的终端设施 在终端部分我输入F Projects cygwin64 bin mintty exe i Cygwin Terminal ico 所以它使用 Cygwin 作为终端 但它会在主文件夹中打开它 是否可
  • XML 不可能是整个程序

    当我包含以下 js 文件 其中包含 jquery 时 我在 Firebug 中收到错误 XML 不能是整个程序 JS文件包含参考 JS文件内容 id txtAddress1S blur function id txtAddress1S va
  • WPF 中延迟后重置变量值

    我有一些执行并获取执行返回值的代码 我将此值设置为窗口的依赖属性 因为有样式触发器绑定到它 当变量为 0 时 使用默认样式 1 时使用偏红色样式 2 时使用绿色样式 但一段时间后我必须以某种实际的方式重置这种风格 做到这一点最简单的方法是什
  • High Sierra 中的 NSCollectionView 内存泄漏?

    我通过 Instruments 注意到 NSCollectionView 中存在内存泄漏 当我追踪代码时 它显示了下面的特定行 collectionView makeItem withIdentifier identifier for in
  • Python 变量声明

    我想澄清一下 Python 中如何声明变量 我见过变量声明 https www learnpython org en Variables and Types as class writer path 有时 没有显式声明 而只是使用初始化 i
  • 如何通过 XPath 选择第一个元素?

    我有以下 HTML 结构 div class carousel ul class carousel view li li ul div
  • 如何解决Hibernate“未能延迟初始化角色集合”异常

    我有这个问题 org hibernate LazyInitializationException 未能延迟初始化角色集合 mvc3 model Topic comments 没有会话或会话被关闭 这是模型 Entity Table name
  • 如何转义包含空格的路径

    要将带有空格的路径传递给 NET 控制台应用程序 您应该转义它 可能不是转义而是用双引号引起来 myapp exe path C Program Files MyApp becomes new string path C Program F