我想我需要逃避这里的特殊角色:
Process.Start(userSelectedFilePath, "\u0007" & ThisDir.Path & "\u000B" & checkedpath1 & "\u0007")
结果需要像:userselecfilepath“a blackquoted path \和其他文件夹”
我做错了什么?
三江源
更新
解决方案:
ControlChars.Quote & Path.Combine(ThisDir.Path, checkedpath1) & ControlChars.Quote
答案 0 :(得分:1)
试试这个:
Process.Start(userSelectedFilePath,“\\”& ThisDir.Path&“\\”& checkedpath1&“\\”)
答案 1 :(得分:1)
Process.Start(userSelectedFilePath, Path.Combine(ThisDir.Path, checkedpath));
<强> Path.Combine 强>
如果path1不是驱动器引用(即“C:”或“D:”),则不是 以。中定义的有效分隔符结尾 DirectorySeparatorChar,AltDirectorySeparatorChar或 VolumeSeparatorChar,DirectorySeparatorChar附加到path1 在连接之前。
如果path2不包含根(例如,如果path2未启动) 使用分隔符或驱动器规范),结果是a 这两条路径的连接,带有插入分隔符 字符。如果path2包含root,则返回path2。
如果参数有空格,则不会解析参数。因此,如果 path2包括空格(例如,“c:\”),Combine方法 将path2附加到path1而不是仅返回path2。
并非目录和文件名的所有无效字符都是 由Combine方法解释为不可接受,因为您可以使用 这些字符用于搜索通配符。例如,虽然 如果要创建一个,Path.Combine(“c:\”,“* .txt”)可能无效 来自它的文件,它作为搜索字符串有效。因此 通过Combine方法成功解释。