1

我想我需要在这里躲过特殊字符:VisualStudio中 - 如何摆脱这种字符

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

结果必须是这样的:userselecfilepath“一blackquoted路径\和其他文件夹”

什么我做错了?

三江源

UPDATE

解决方案:

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

回答

1
Process.Start(userSelectedFilePath, Path.Combine(ThisDir.Path, checkedpath)); 

Path.Combine

如果PATH1不是驱动基准(即, “C:” 或 “d”),并且不具有有效 端如 DirectorySeparatorChar,AltDirectorySeparatorChar或 VolumeSeparatorChar中定义的分隔符字符,DirectorySeparatorChar在串联之前附加到路径1 。

如果PATH2不包括根目录(例如,如果PATH2不与分隔符或驱动器规范开始 ),其结果是两个路径的 级联,带有分隔 字符。如果path2包含一个根,则返回path2。

如果参数有空白,则不会分析这些参数。因此,如果 path2包含空格(例如,“c:\”),则组合方法 会将path2附加到path1,而不是只返回path2。

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

+0

它说我没有“路径”声明,我需要做什么?无论如何,我需要在“ThisDir.Path \ checkedpath”之间加一个斜杠,而不是组合,所以我认为你的例子不适合我...也许我worng,谢谢你 – ElektroStudios

+0

确保你参考'System.IO' 。 'Path.Combine'将添加到'/' – hunter

+0

再次感谢,我的最终解决方案是:ControlChars.Quote&Path.Combine(ThisDir.Path,checkedpath1)&ControlChars.Quote – ElektroStudios

1

试试这个:

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

+0

对不起,不起作用 – ElektroStudios