by zhangxinxu from http://www.zhangxinxu.com/wordpress/?p=7550
本文可全文转载,但需要保留原作者和出处,摘要引流则随意。
更新与于N天后
经评论反馈,下面这个方法荣升为最佳方法:
文件夹窗口右上角的在搜索框键入 .DS_Store
全选 删除
清净
搜索配图示意:

一、烦人的.DS_Store文件
设计师用的电脑是高大上的Mac Pro,开发用的电脑是高大的传统台式机,操作系统是windows,于是,设计师给开发传打包图片的时候,一解压,我了个擦,每个文件夹中间都有一个.DS_Store文件,好烦哦!
我就多次遇到这样的问题,平常文件夹就几层目录,手动删掉就好了,世界清静。
但是,最近有一次,好几十个文件夹,每个文件夹中都有一个.DS_Store文件,有的文件夹嵌套好几层,Oh my god! 要是一个一个删,真不如一刀剐了我。
幸好,自己会一点皮毛Node.js,于是,参照“JS一般般的网页重构可以使用Node.js做些什么”这篇文章中的套路,歘歘歘十几分钟就写好了一个小工具,biang一下就能把文件夹及其子文件夹中全部.DS_Store文件删除,这一瞬间的满足感堪比心爱的女人对着自己说我爱你,真真切切感受到会写点代码还真有用。
估计以后也会用得到,于是放在这里备忘下。
二、批量删除.DS_Store文件的Node.js小工具
新建个JS文件,假设名称是no-ds.js,写入如下代码:
const fs = require('fs');
stat = fs.stat;
const path = require('path');
/**
* 删除目录下 .DS_Store 文件方法
* @param String dir 文件夹名称
*/
let nods = function (dir) {
fs.readdir(dir, function(err, files) {
files.forEach(function(filename) {
var src = path.join(dir, filename);
stat(src, function (err, st) {
if (err) { throw err; }
// 判断是否为文件
if (st.isFile()) {
if (/\.DS_Store$/.test(filename)) {
fs.unlink(src, (err) => {
if (err) throw err;
console.log('成功删除' + src);
});
}
} else {
// 作为文件夹处理
nods(src);
}
});
});
});
};
nods('./');
把这个JS文件放在想要删除的文件夹根目录下,命令行工具中执行下:
node no-ds
所有.DS_Store就全部不见啦!
三、不懂代码的人如何使用这个小工具呢?
- Node.js官网下载Node.js并安装:

推荐安装推荐版。
- 下载后面这个文件:no_DS.zip
解压,会看到有个名为
no-ds.js和run.bat的两个文件:
哪个文件夹需要清除所有的
.DS_Store文件,就把这两个文件复制到这个文件夹中,然后双击下run.bat,整个世界清净了!
四、结束语
本工具在命令行工具用得很熟的人眼中可能会觉得多此一举了,一行命令事情搞这么复杂。不好意思,术业有专攻,命令行不熟,只能用自己会的一点知识来凑。
如果会批处理语法,应该一个批处理文件就可以搞定了,欢迎比较擅长小伙伴贡献代码,我会在本文中一同分享。
今天发现自己的《CSS世界》短短6个月不到已经出库2万多册:

是时候搞一波抽奖回赠之类的活动。
大家觉得回赠什么物品比较好呢?预算100以下。
我能想到的有:
- 《CSS世界》指定寄语签名版(价值69)
- “CSS世界”文化衫(价值69)
- 哈士奇企鹅公仔(价值60)

- 起点点娘笔记本(价值49)

- Q币若干(价值50)
不知大家有没有更好的想法?

本文为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验。
本文地址:http://www.zhangxinxu.com/wordpress/?p=7550
(本篇完)
相关文章
- 翻译-高质量JavaScript代码书写基本要点 (0.441)
- 从height:100%不支持聊聊CSS中的“死循环” (0.441)
- HTML静态页面原型交付工具“魔卡”简介 (0.294)
- 网页制作辅助工具-jQuery标尺参考线插件 (0.147)
- style标签下的CSS代码的显示与实时编辑 (0.147)
- Stylus-NodeJS下构建更富表现力/动态/健壮的CSS (0.147)
- 高富帅seajs使用示例及spm合并压缩工具露脸 (0.147)
- SVG精简压缩工具svgo简介和初体验 (0.147)
- JS一般般的网页重构可以使用Node.js做些什么 (0.147)
- 使用electron构建跨平台Node.js桌面应用经验分享 (0.147)
- 原来浏览器原生支持JS Base64编码解码 (RANDOM - 0.132)



















