Windows 路径中的多个反斜杠会产生什么后果(如果有)?

2023-12-06

在我的程序中,我经常在 app.config 文件中配置文件名和/或路径。这通常是这样的:

<add key="LogFileDirectory" value="C:\Logs" />
<add key="SaveLogFileTo" value="MyLogFile.txt" />

在我的实际应用程序代码中,我经常将它们与类似以下的代码连接在一起:

var logFile = ConfigurationManager.AppSettings["LogFileDirectory"]
+ @"\" +
ConfigurationManager.AppSettings["SaveLogFileTo"];

现在,上述代码的结果将给出日志文件路径C:\Logs\MyLogFile.txt但是,如果最终用户在配置文件中将日志文件目录指定为C:\Logs\带有尾部反斜杠,我的代码会产生实际路径C:\Logs\\MyLogFile.txt目录和文件之间有一个双反斜杠。

根据我的经验,这在实践中效果很好。事实上,即使进入命令提示符并执行cd c:\\\\\\windows\\\在实践中发挥作用。

我的问题是,这样的路径会产生什么后果(如果有的话)?我不想在生产代码中使用这个“功能”,如果它是未记录的并且可能会在未来某个时候在新版本的 Windows 中被破坏。


据我所知,没有任何后果,并且在未来的版本中不太可能被破坏,因为很多人都会做和你一样的事情。

但是,在 C# 中组合路径的正确方法是使用Path.Combine,这将为您删除任何额外的反斜杠:

var logFile = Path.Combine(
    ConfigurationManager.AppSettings["LogFileDirectory"],
    ConfigurationManager.AppSettings["SaveLogFileTo"]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 路径中的多个反斜杠会产生什么后果(如果有)? 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 按成员序列化

    我已经实现了template
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • parsec:带有有用错误消息的字符串选择解析器

    让我们有以下解析器 parser GenParser Char st String parser choice fmap try string head tail tales
  • 将优惠券字段设置为 WooCommerce 中产品类别的必填字段

    我正在努力做到这一点 以便优惠券字段在 Woocommerce 上对于产品类别是强制性的 我尝试过使用这个答案中的代码但它仅适用于一组优惠券代码 我需要它与任何有效的优惠券代码一起使用 感谢您的任何帮助 请尝试以下操作 当找到特定产品类别的
  • 从命令行解锁 Android 模拟器

    我想从命令行运行 android 模拟器 解锁它并控制它 这可能吗 我知道如何从eclipse进行操作吗 在模拟器上尝试adb shell input keyevent 82 该键事件执行 KEYCODE MENU 并解锁屏幕
  • 如何使用 wxPython 制作窗口覆盖(在浏览器、游戏之上)

    我想制作一个简单的程序 此代码是一个演示 它将收集系统数据并将其显示在所有内容之上 我的目标是创建一个整体 ping集电极对于当前最大的互联网用户 我所要求的只是如何制作叠加层而已 Hello World but with more mea
  • Microsoft Graph API SDK .NET 获取其他用户电子邮件时出现问题

    我正在使用从 NuGet 1 2 下载的 Microsoft Graph SDK 我向 Azure AD 进行身份验证 使用 ADAL 我正在使用客户端凭据流 未作为任何特定用户进行身份验证 并使用应用程序权限角色来访问资源 我们将设置一个
  • 如何将节点列表添加到空间层

    我是 Neo4j 和 cypher 的新手 我有很多节点 我想将它们添加到空间层中 这是我用 cypher 尝试过的 从 csv 文件创建节点 load csv with headers from file green tripdata 2
  • 如何使用 Django 在 nginx 中设置子目录

    环境 uwsgi nginx Django 1 3 我正在使用域名www example com使用 Django 和 nginx 我想通过以下方式访问 Djangowww example com abc 但我不知道如何设置子目录 这是 n
  • Sass 中的图像路径有变量吗?

    我想要一个变量包含 CSS 文件中所有图像的根路径 我不太清楚这在纯 Sass 中是否可行 实际的 Web 项目不是 RoR 因此不能使用 asset pipeline 或任何花哨的爵士乐 这是我的例子 它不起作用 编译时 它会在后台 ur
  • 如何将“ENTER”按键发送到另一个应用程序?

    我有启动外部应用程序并自动填写密码提示的代码 我想自动按下 ENTER 键 以便用户不必单击 确定 如何将 ENTER 键发送到外部应用程序 下面是我现在的代码 将密码发布到应用程序的第一行工作正常 第二行发送 ENTER 键根本没有效果
  • 使用 magick R 导入 PDF 时出错

    我有数百个 PDF 需要裁剪 对于每个 PDF 我都有一组独特的坐标可供裁剪 我正在尝试使用 R 的 magick 包 版本 ImageMagick 6 9 9 14 但在导入 PDF 时收到错误 magick 文档中的这个示例抛出一个错误
  • Web.Config 中的 defaultRedirect 问题

    我使用 Asp net 4 这里为我的设置Web Config file
  • 将程序集添加到 Visual Studio 2015 ASP.NET 5

    我想将 Stimulsoft Report dll 作为程序集添加到我的 Visual Studio 2015 ASP Net 5 项目中 但参考管理器不包含带有扩展区域的程序集部分 与 VS 2013 中一样 我可以在其中选择 Stimu
  • 如何从验证码中完全删除该行

    我编写了一个程序来删除此验证码中的行 首先 我通过中值滤波器提高图像可见度 def apply median filter self img img gray img convert L img gray cv2 medianBlur np
  • 使用 numpy/scipy 从 3D 数组计算等值面

    我有一个 3D numpy 数组 其中包含给定函数的值 我想计算一个二维等值面 或一组表示该函数的某些值的等值面 在这种特殊情况下 每个一维列 column myarray i j 的 3D 数组可以独立处理 所以我想知道的是函数等于某个值
  • 启用执行功能

    我在共享服务器 apache 上有一个网站 我的一个脚本需要 exec 函数才能工作 但我的网络主机似乎已禁用它 有什么方法可以通过 htaccess 启用它吗 No disable functions指令仅适用于php ini出于安全原因
  • 将 .xfdf 保存为 .pdf

    我目前正在使用 Excel 用表单字段填充 PDF 文件 一切正常 但它将其导出为 xfdf 有谁知道如何将其另存为 pdf 格式吗 FullFileName FilePath Requisition Trim MyRecord Compa
  • 从 ClearCase 迁移到 Git

    我来自 ClearCase 背景 我们 简单地说 的工作流程由三个步骤组成 其中最左边的主干是不稳定的 中间的主干是质量保证 最右边的主干是稳定的 IE A A A B C C E D E E 正如您所看到的 稳定主干仅包含已合格的版本 我
  • Kotlin 中通过解构初始化 val

    最初我想实现 class NotationDiceRoll notation String val rolls Int val sides Int init parseNotation notation private fun parseN
  • MTRR寄存器如何实现? [关闭]

    Closed 这个问题是无关 目前不接受答案 x86 x86 64 公开了 MTRR 内存类型范围寄存器 可用于为不同用途指定物理地址空间的不同部分 例如 可缓存 不可更改 写入组合等 我的问题是 有人知道 MTRR 定义的物理地址空间限制
  • Windows 路径中的多个反斜杠会产生什么后果(如果有)?

    在我的程序中 我经常在 app config 文件中配置文件名和 或路径 这通常是这样的