首页 > 解决方案 > 路径中的非法字符(阅读说明)

问题描述

我目前正在制作一个名称中带有符号的文件夹,因此我使用了以下代码:

Private Sub ButtonDirectory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDirectory.Click

    FBDPath.ShowDialog()
    TextBox1.Text = FBDPath.SelectedPath & "\◯Folder Safe *by Me*◯"
End Sub

Private Sub ButtonCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCreate.Click
    Dim folderpath As String
    folderpath = TextBox1.Text
    If Directory.Exists(folderpath) Then
        MsgBox("Folder already exist!", vbInformation, "Safe Folder")
    Else
        Directory.CreateDirectory(folderpath)
        MsgBox("succesfull", "Safe Folder")
    End If
End Sub

所以,在我开始构建之后,我可以选择一个文件夹,但是当我点击创建时,问题就出现了:“路径中的非法字符”。

供参考:

标签: vb.netvisual-studio-2010directoryillegal-characters

解决方案


因为您允许用户输入内容,所以您应该删除任何无效输入:

Dim pathBits = TextBox1.Text.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)

For Each c as Char in Path.GetInvalidPathChars()
  For i = 0 to pathBits.Length - 1
    pathBits(i) = pathBits(i).Replace(c, "_"c)
  Next i
Next c

folderpath = string.Join(Path.DirectorySeparatorChar, pathBits)

推荐阅读