Vb.net VB中Usb特殊字符(受病毒影响)目录数据

Vb.net VB中Usb特殊字符(受病毒影响)目录数据,vb.net,special-characters,antivirus,file-encodings,Vb.net,Special Characters,Antivirus,File Encodings,我一直在写一个代码来删除我们今天面临的常见病毒,它只是将所有数据放在一个不显示标题的特殊文件夹中。事实上,它是VB中的一个chr(160)。当我得到目录列表时,它显示为带和空名称,但我无法更改其名称或查看其内容 另外,您可以通过创建一个名为Alt+0160 For Each foldername In Directory.GetDirectories("d:\x\ ") TextBox1.Text += foldername + vbCrLf If fname = " " T

我一直在写一个代码来删除我们今天面临的常见病毒,它只是将所有数据放在一个不显示标题的特殊文件夹中。事实上,它是VB中的一个
chr(160)
。当我得到目录列表时,它显示为带和空名称,但我无法更改其名称或查看其内容

另外,您可以通过创建一个名为
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

您正在与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

在正确的轨道上,有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

您如何尝试更改它的名称或查看内容?通过代码还是通过windows资源管理器?这对我来说很好;我还可以更改名称并查看内容。如何发布一些代码,说明您所处的位置?
对于Directory.GetDirectories(“d:\x\”)TextBox1.Text+=foldername+vbCrLf如果fname=“”,那么FileIO.FileSystem.renameditory(foldername,“temp”)如果下一步结束
这是遍历目录的简单代码。。。我已经创建了D:\x,其中存在该特殊文件夹(名称为alt+0160)。它显示名称,但不显示该文件夹中的内容,或者无法重命名该文件夹folder@mccainz我是通过vb.net代码访问该文件夹的,如上面的评论所示。通过windows资源管理器,我可以访问目录内容,但通过代码,当我在命令提示符下执行dir时,我可以很好地看到目录。-目录路径(“d:\x\”)末尾的空间在做什么?