在VB中使用特殊字符(受病毒影响)目录数据



我一直在写一段代码来删除我们今天面临的常见病毒,它只需将所有数据放入一个不显示标题的特殊文件夹中。事实上,它是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

最新更新