V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
3dwelcome
V2EX  ›  Android

有任何办法能删掉安卓手机上 GBK 的文件名吗?

  •  
  •   3dwelcome · 2022 年 3 月 21 日 · 14339 次点击
    这是一个创建于 1400 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不小心用代码生成了几个 GBK 文件名,结果发现没任何有效办法能删掉。

    安卓文件系统都是 UTF8 的,GBK 文件都是显示乱码。删文件不行,直接删文件夹和目录也不行。

    一删就报错误,死活删不掉,真是晕死。
    25 条回复    2025-07-18 10:32:09 +08:00
    yehoshua
        1
    yehoshua  
       2022 年 3 月 21 日 via iPhone
    Shell 里面删除呢
    3dwelcome
        2
    3dwelcome  
    OP
       2022 年 3 月 21 日
    @yehoshua 指 ADB shell 吗?我试过好像也不行,ADB 默认都是 UTF8 输出。

    我再去试试。
    lakehylia
        3
    lakehylia  
       2022 年 3 月 21 日
    如果是混合名称,有中文有英文的,可以 adb rm xyy* 。或者你把目录下面的文件都拷贝到别的地方,用 adb rm /rf folderName
    yehoshua
        4
    yehoshua  
       2022 年 3 月 21 日 via Android
    @3dwelcome 要不就试试 Termux ,可能支持 GBK
    seers
        5
    seers  
       2022 年 3 月 21 日 via Android   ❤️ 1
    之前在 Linux 下是用 inode 删,理论上通用
    lisongeee
        6
    lisongeee  
       2022 年 3 月 21 日
    可以试试文件遍历删除
    3dwelcome
        7
    3dwelcome  
    OP
       2022 年 3 月 21 日
    谢谢楼上几位,我晚上在小米平板上各种方法都试一下,头大。
    unclebear
        8
    unclebear  
       2022 年 3 月 21 日 via Android
    试试在你生成文件的那行代码下面加一行删除操作呢
    AoEiuV020CN
        9
    AoEiuV020CN  
       2022 年 3 月 21 日
    代码生成的就用代码删除呗,
    列出来按索引获取文件删除,
    learningman
        10
    learningman  
       2022 年 3 月 21 日
    用 inode 删除就好
    james2013
        11
    james2013  
       2022 年 3 月 21 日 via Android
    用代码删
    Reficul
        12
    Reficul  
       2022 年 3 月 21 日
    find xxx --delete
    3dwelcome
        13
    3dwelcome  
    OP
       2022 年 3 月 22 日
    由于机器上没有 root ,很遗憾,这次删除失败。

    用 adb 删,报错 No such file or directory
    用代码删,unlink 和 rmdir 都返回-1
    用 inode 删,没有 root 做不到,adb 的 rm 不支持 inode 参数。
    用混合名称通配符删,一样不行。

    彻底放弃。
    acess
        14
    acess  
       2022 年 3 月 22 日 via Android
    可以去找个 busybox 啊,比如 osmosis 编译的,原来在 magisk 模块仓库里的
    acess
        15
    acess  
       2022 年 3 月 22 日 via Android
    busybox 可以复制到 /data/local/tmp 里
    3dwelcome
        16
    3dwelcome  
    OP
       2022 年 3 月 22 日
    @acess 好的,我晚上试试,也许可以。
    tiny1994095
        17
    tiny1994095  
       2022 年 3 月 22 日
    请问是什么安卓系统?
    或许可以试试进入 RCE 里头操作看看?
    dongpengfei1
        18
    dongpengfei1  
       2022 年 3 月 22 日   ❤️ 1
    ls -li
    find . -inum 1490945 -exec rm {} -rf \;
    你试试
    3dwelcome
        19
    3dwelcome  
    OP
       2022 年 3 月 22 日



    @dongpengfei1 试了一下别的文件都可以,就这个乱码文件不行。
    dongpengfei1
        20
    dongpengfei1  
       2022 年 3 月 24 日
    @3dwelcome 那就没办法了,我刚刚也试了一下,这条命令没有 root 就不能删带特殊字符的文件,使用 root 就可以删。
    你找找其他的文件管理器能不能把它删了吧。
    cczhrd
        21
    cczhrd  
       2022 年 3 月 25 日
    是这个意思?直接 rm * 好像可以 ![]( https://imgur.com/a/SEU0XYJ)
    3dwelcome
        22
    3dwelcome  
    OP
       2022 年 3 月 25 日
    @cczhrd 谢谢,我晚上试试。
    3dwelcome
        23
    3dwelcome  
    OP
       2022 年 3 月 26 日
    @cczhrd 还是不行,一直报错“No such file or directory”。
    3dwelcome
        24
    3dwelcome  
    OP
       2025 年 6 月 5 日
    间隔 3 年,找到方法了。

    1. 安装有道智慧学习
    2. 拖动非法文件的父级目录到这里 /storage/emulated/0/Android/media/com.youdao.wisdom
    3. 在 [有道智慧学习] 应用信息里,清除数据即可。
    YueAtantlics
        25
    YueAtantlics  
       2025 年 7 月 18 日
    @3dwelcome 我是 adb push 一个 windows 下的 GBK 编码的里面有东西的文件夹出问题了(大小 20GB ),BUFF 叠满了,找了一上午终于找到解决方法了,非常感谢时隔这么久依然不忘分享解决方法的大神!
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:12 · PVG 11:12 · LAX 19:12 · JFK 22:12
    ♥ Do have faith in what you're doing.