3dwelcome
V2EX  ›  Android

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

  •  
  •   3dwelcome · Mar 21, 2022 · 16016 views
    This topic created in 1688 days ago, the information mentioned may be changed or developed.
    不小心用代码生成了几个 GBK 文件名,结果发现没任何有效办法能删掉。

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

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

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

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

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



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

    1. 安装有道智慧学习
    2. 拖动非法文件的父级目录到这里 /storage/emulated/0/Android/media/com.youdao.wisdom
    3. 在 [有道智慧学习] 应用信息里,清除数据即可。
    YueAtantlics
    YueAtantlics
    Jul 18, 2025
    25
    @3dwelcome 我是 adb push 一个 windows 下的 GBK 编码的里面有东西的文件夹出问题了(大小 20GB ),BUFF 叠满了,找了一上午终于找到解决方法了,非常感谢时隔这么久依然不忘分享解决方法的大神!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1385 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
    ♥ Do have faith in what you're doing.