簡體   English   中英

路徑中的非法字符(閱讀說明)

[英]Illegal characters in path(Read Description)

我目前正在制作一個名稱中帶有符號的文件夾,因此我使用了以下代碼:

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

所以,在我開始構建后,我可以選擇一個文件夾,但是當我點擊創建時,這就是問題出現的地方:“路徑中的非法字符”。

供參考:

  • 突出顯示的問題是“Directory.CreateDirectory(folderpath)~”
  • FBDPath 是 FolderBrowseDialog
  • 有 2 個按鈕和一個文本框。

因為您允許用戶輸入內容,所以您應該刪除所有無效輸入:

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)

您的文件名中有一個星號: "\\◯Folder Safe *by Me*◯" 對於 Windows 文件命名,您必須避免使用以下字符。

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

更多信息: https : //docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM