我目前正在制作一個名稱中帶有符號的檔案夾,因此我使用了以下代碼:
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 個按鈕和一個文本框。
uj5u.com熱心網友回復:
因為您允許用戶輸入內容,所以您應該洗掉所有無效輸入:
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)
uj5u.com熱心網友回復:
您的檔案名中有一個星號:"\?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
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353632.html
上一篇:如何編輯訪問資料庫中的特定物體
