1

我想我需要在这里转义特殊字符:

Process.Start(userSelectedFilePath, "\u0007" & ThisDir.Path & "\u000B" & checkedpath1 & "\u0007")

结果必须是这样的: userselecfilepath "a blackquoted path\and other folder"

我做错了什么?

谢谢你

更新

解决方案:

ControlChars.Quote & Path.Combine(ThisDir.Path, checkedpath1) & ControlChars.Quote
4

2 回答 2

1

尝试这个:

Process.Start(userSelectedFilePath,“\\”&ThisDir.Path&“\\”&checkedpath1&“\\”)

于 2012-11-16T16:56:55.570 回答
1
Process.Start(userSelectedFilePath, Path.Combine(ThisDir.Path, checkedpath));

路径组合

如果 path1 不是驱动器引用(即“C:”或“D:”)并且不以 DirectorySeparatorChar、AltDirectorySeparatorChar 或 VolumeSeparatorChar 中定义的有效分隔符结尾,则 DirectorySeparatorChar 在连接之前附加到 path1。

如果 path2 不包含根(例如,如果 path2 不以分隔符或驱动器规范开头),则结果是两个路径的连接,中间有分隔符。如果 path2 包含根,则返回 path2。

如果参数有空格,则不会对其进行解析。因此,如果 path2 包含空格(例如,“c:\”),Combine 方法会将 path2 附加到 path1 而不是仅返回 path2。

并非所有目录和文件名的无效字符都被 Combine 方法解释为不可接受的,因为您可以将这些字符用于搜索通配符。例如,虽然 Path.Combine("c:\", "*.txt") 如果您要从中创建文件可能无效,但它作为搜索字符串是有效的。因此,Combine 方法成功地解释了它。

于 2012-11-16T16:58:29.250 回答