我一直在编写代码来删除我们今天面临的常见病毒,它只是将所有数据放入一个没有标题的特殊文件夹中。实际上它在VB中是chr(160)
。当我获得目录列表时,它显示带有空名称,但我无法更改其名称或查看其内容。
P.S。您可以通过创建名为Alt+0160
For Each foldername In Directory.GetDirectories("d:\x\ ")
TextBox1.Text += foldername + vbCrLf
If fname = " " Then
FileIO.FileSystem.RenameDirectory(foldername, "temp")
End If
Next
答案 0 :(得分:1)
您正在对chr(160)和空格字符进行比较。尝试将fname与不间断空格字符进行比较。 chr(160)返回一个char类型,因此您需要确保fname属于同一类型。
For Each foldername In Directory.GetDirectories("d:\x\ ")
TextBox1.Text += foldername + vbCrLf
If fname = chr(160) Then
FileIO.FileSystem.RenameDirectory(foldername, "temp")
End If
Next
答案 1 :(得分:1)
你在正确的轨道上,是的,有Chr(160)。如果你没有目录,那么使用直接的方法另外明智地搜索所有子目录的给目录检查他们的每个名字,如果你得到一个命中,然后重命名它。
My.Computer.FileSystem.RenameDirectory("d:\x\" & Chr(160) & "\", "NewNameGoHere")
Or
Dim path as string = "d:\x\"
Dim di As New IO.DirectoryInfo(path)
Dim Drs() As IO.DirectoryInfo = di.GetDirectories()
For Each dr As IO.DirectoryInfo In Drs
if dr.name = chr(160) then
My.Computer.FileSystem.RenameDirectory(path & dr.name & "\", "NewNameGoHere")
end if
Next