我想要一个可以运行的脚本来删除桌面上的所有屏幕截图。 所有屏幕截图的名称都以“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
我在这里做错了什么?
答案 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*
之类的东西。