想要创建一个从桌面删除所有屏幕截图的脚本

时间:2017-05-09 17:17:49

标签: bash macos shell unix

我想要一个可以运行的脚本来删除桌面上的所有屏幕截图。 所有屏幕截图的名称都以“Screen Shot”开头。 我试过用这个;

find /Users/Mht/Desktop/ -name "Screen*" -exec rm{} -i \;

(我的用户名是“Mht”......)这会返回:

find: rm/Users/Mht/Desktop//Screen Shot 2017-05-09 at 19.08.59.png: No such file or directory

我在这里做错了什么?

2 个答案:

答案 0 :(得分:4)

您错过了rm{}之间的空格(如果您仔细查看错误消息,这很明显,但我承认,这并不是很明显)。

我只是尝试了以下内容,它对我有用:

find ~/Desktop -type f -name "Screen Shot*" -exec rm {} \;

答案 1 :(得分:3)

您总是可以为此编写Python脚本,这非常简单:

import os
os.chdir('/Users/Mht/Desktop')
filenames = [filename for filename in os.listdir() if filename.startswith("Screen")]
for f in filenames:
    os.remove(f)

当然,如果您绝对想要在bash脚本中执行此操作,则可以始终只使用rm和通配符,如rm -i /Users/Mht/Desktop/Screen*中所示。当然,正如评论中所指出的那样,尽可能具体地说更安全,所以最好有rm -i /Users/Mht/Desktop/Screen\ Shot*之类的东西。