本脚本可自动在指定目录及其子目录中创建 .nomedia
空文件,有效阻止 Android 系统媒体扫描器索引该路径下的多媒体文件。适用于需要隐藏音乐、图片等内容的场景。
背景
源于音乐带有图片,但平时一般不会使用,又不想删除,隐藏成了最佳选择。
但是音乐有很多专辑,也就是目录比较多,逐个隐藏比较麻烦,于是问了 AI,写了个脚本,10 秒就完成了全部隐藏,省时省力。
代码
// 文档地址 https://docs.hamibot.com/
// 要遍历的根目录路径
var targetDir = '/storage/emulated/0/Music';
// 递归遍历目录的函数
function processDirectory(dirPath) {
// 列出当前目录下的文件和子目录
var items = files.listDir(dirPath);
// 检查当前目录是否存在.nomedia文件
var nomediaPath = files.join(dirPath, '.nomedia');
if (!files.exists(nomediaPath)) {
// 创建.nomedia空文件
files.create(nomediaPath);
toastLog('已创建: ' + nomediaPath);
} else {
toastLog('已存在: ' + nomediaPath);
}
// 遍历所有子目录
items.forEach(function (item) {
var fullPath = files.join(dirPath, item);
if (files.isDir(fullPath)) {
// 递归处理子目录
processDirectory(fullPath);
}
});
}
// 开始处理目标目录
processDirectory(targetDir);
toastLog('处理完成');
hamibot.exit();
注意事项:
- 需要授予 Hamibot 文件读写权限
- 如果目录层级很深可能需要较长时间处理
- 实际路径需要确认存在(/storage/emulated/0/对应内部存储根目录)
- 创建的空文件大小为 0 字节
- 建议先在小范围目录测试后再正式运行
安装脚本
现成脚本,安装即可使用 👇👇👇