VB中的USB特殊字符(受病毒影响)目录数据

Posted

技术标签:

【中文标题】VB中的USB特殊字符(受病毒影响)目录数据【英文标题】:Usb special character (virus affected) directory data in VB 【发布时间】:2015-03-03 13:31:14 【问题描述】:

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

【问题讨论】:

您如何尝试更改其名称或查看内容?通过代码还是通过 Windows 资源管理器? 这对我来说很好;我还可以更改名称并查看内容。发布一些你被困在哪里的代码怎么样? For Each foldername In Directory.GetDirectories("d:\x\ ") TextBox1.Text += foldername + vbCrLf If fname = " " Then FileIO.FileSystem.RenameDirectory(foldername, "temp") End If Next 这是遍历目录的简单代码...我创建了 D:\x,其中存在该特殊文件夹(名称为 alt+0160)。它显示名称但不显示该文件夹内的内容或无法重命名该文件夹 @mccainz 我通过 vb .net 代码访问该文件夹,在上面的评论中给出。通过 Windows 资源管理器我可以访问内容,但通过代码我不能 当我从命令提示符执行目录时,我可以看到目录正常。 - 目录路径(“d:\x\”)末尾的那个空间在做什么? 【参考方案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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于VB中的USB特殊字符(受病毒影响)目录数据的主要内容,如果未能解决你的问题,请参考以下文章

php文件字​​符编码、mysql数据库字符编码、特殊字符

你会喜欢吗?Apple新版 macOS 更改了所有图标设计!

oracle怎样才能把特殊字符存到数据库里面去了

VB6.0 中 CHR() 函数如何使用? 还有特殊符号的 ASCII 码是多少? 如回车 空格

如何去除文件名中的特殊字符

indexof是啥意思 indexof的特殊含义