安全清倒废纸篓(AppleScript)

on run {input, parameters}
set title to "安全清倒废纸篓"
set trashIsEmptyMessage to "废纸篓是空的,不需要清空。"
set willDeleteMessage to "请选择清空方式?"
set secureDeleteAction to "安全清倒废纸篓"
set secureDeleteActionTerminal to "安全清倒废纸篓(详细)"
set cancelAction to "取消"
set okAction to "好"
set errorMessage to "发生错误:"
set finishMessage to "已经安全清倒废纸篓。"
set srmCommand to "sudo srm -rfsz /Volumes/*/.Trashes ~/.Trash"
set srmVerboseCommand to "sudo srm -rfvsz /Volumes/*/.Trashes ~/.Trash" tell application "Finder"
set trashCount to count of items in the trash
if trashCount = 0 then
beep
activate
display dialog trashIsEmptyMessage buttons {okAction} default button okAction with title title
return input
end if
try
beep
activate
set dialog to display dialog willDeleteMessage buttons {secureDeleteActionTerminal, secureDeleteAction, cancelAction} default button cancelAction with title title
on error
return input
end try
set interface to button returned of dialog
end tell if interface is cancelAction then
return input
end if if interface is secureDeleteAction then
tell application "Finder"
try
do shell script srmCommand with administrator privileges
activate
display dialog finishMessage buttons {okAction} with title title
on error errmsg
beep
activate
display dialog errorMessage & errmsg buttons {okAction} with title title
end try
end tell
else if interface is secureDeleteActionTerminal then
tell application "Terminal"
launch
delay 0.2
activate
do script srmVerboseCommand
end tell
--else if interface is deleteAction then
-- tell application "Finder"
-- empty the trash
-- end tell
end if return input
end run

Finder - 服务 -  安全清倒废纸篓

强行删除(AppleScript)

on run {input, parameters}
set title to "强行删除"
set willDeleteMessage to "此操作将不经过废纸篓*直接删除*选中的文件:"
set fileCountUnitMessage to "个"
set deleteAction to "删除"
set secureDeleteAction to "安全删除"
set cancelAction to "取消"
set okAction to "好"
set finishedMessage to "操作完成"
set errorMessage to "删除期间发生了错误:"
set fileCountZeroMessage to "未选择任何文件或文件夹。"
set deleteCommand to "sudo rm -rf"
set secureDeleteCommand to "sudo srm -rfsz" set fileCount to the count of input
if fileCount = 0 then
beep
activate
display dialog fileCountZeroMessage buttons {okAction} default button okAction with title title
return input
end if set theFiles to ""
set theFilesMsg to ""
repeat with theFile in input
set p to quoted form of (POSIX path of theFile)
set theFiles to theFiles & " " & p
set theFilesMsg to theFilesMsg & "
" & p
end repeat tell application "Finder"
try
beep
activate
set msg to willDeleteMessage & (fileCount as string) & fileCountUnitMessage & theFilesMsg
set dialog to display dialog msg buttons {secureDeleteAction, deleteAction, cancelAction} default button cancelAction with title title
on error
return input
end try
set interface to button returned of dialog
end tell if interface is cancelAction then
return input
end if if interface is deleteAction then
try
do shell script deleteCommand & theFiles with administrator privileges
activate
tell application "Finder" to display dialog finishedMessage buttons {okAction} with title title
on error errmsg
beep
activate
tell application "Finder" to display dialog errorMessage & errmsg buttons {okAction} with title title
end try
else if interface is secureDeleteAction then
try
do shell script secureDeleteCommand & theFiles with administrator privileges
activate
tell application "Finder" to display dialog finishedMessage buttons {okAction} with title title
on error errmsg
beep
activate
tell application "Finder" to display dialog errorMessage & errmsg buttons {okAction} with title title
end try
end if return input
end run

在Finder中选择要删除的文件,右键 - 服务 - 强行删除

显示隐藏文件(Run Shell Script)

STATUS=`defaults read com.apple.finder AppleShowAllFiles`
if [ $STATUS == YES ];
then
defaults write com.apple.finder AppleShowAllFiles NO
else
defaults write com.apple.finder AppleShowAllFiles YES
fi
killall Finder

Finder - 服务 - 显示隐藏文件

打包下载地址:

http://pan.baidu.com/s/1eQsG2PW

mac实用脚本的更多相关文章

  1. QL Server 实用脚本

    use MyFirstDB; -- 主要内容 -- SQL Server 实用脚本 -- 1.case语句 -- 2.子查询 -- 3.连接查询 -- 4.脚本变量与流程控制(选择与循环等) -- 5 ...

  2. Mac实用技巧之:访达/Finder

    更多Mac实用技巧系列文章请访问我的博客:Mac实用技巧系列文章 Finder就相当于windows XP系统的『我的电脑』或win7/win10系统里的『计算机』(打开后叫资源管理器),find是查 ...

  3. 8 个 Python 实用脚本,赶紧收藏备用!

    脚本写的好,下班下得早!程序员的日常工作除了编写程序代码,还不可避免地需要处理相关的测试和验证工作. 例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进而确定问题在于什么.完成这 ...

  4. Python 实用脚本

    Python 实用脚本 脚本写的好,下班下得早!程序员的日常工作除了编写程序代码,还不可避免地需要处理相关的测试和验证工作. 例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进而 ...

  5. 精确报告Linux内存使用情况实用脚本:ps_mem

    精确报告Linux内存使用情况实用脚本:ps_mem 2019-09-06 12:45 ps_mem内存工具 ps_mem 是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单 p ...

  6. Unity3D研究院之在MAC上脚本XlsxWriter写入Excel .xlsx格式

    原地址:http://www.xuanyusong.com/archives/3011 以前找了很久可以跨平台支持读写Excel的工具,我也试了很多种DLL.可在Windows上各个完美支持,可是在M ...

  7. macOS 自动修改mac地址脚本

    介于 某公众号提供了通过修改mac地址来链接BUPT_mobile 的推送,上网上查了一下咋写脚本,实现一键修改mac地址的功能 网上有自动修改mac地址的程序,但是很坑爹的要收费,所以不如自力更生写 ...

  8. Mac实用技巧

    1. 程序员Mac新装机必备 Mac很玄这个大家都承认,但是鄙人觉得程序员用Mac才能真正发挥它的功效.下面就说说我的Mac使用: 基本编程软件:xcode,这个东西不仅仅是对mac的界面程序开发有用 ...

  9. 8 个 Python 实用脚本,【速】收藏备用!

    脚本写的好,下班下得早!程序员的日常工作除了编写程序代码,还不可避免地需要处理相关的测试和验证工作. 例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进而确定问题在于什么.完成这 ...

随机推荐

  1. camke GUI工具 选择 vs2017 时,如何指定工具集 v140 而不是默认的 v141?

    在参数位置加入 v140 即可,不需要加 -T

  2. [NOIP2018TG]赛道修建

    [NOIP2018TG]赛道修建 考场上multiset调不出啊啊啊!!! 首先肯定是二分答案 做树形dp,f[i]表示i点的子树两两匹配后剩下的最长长度 匹配可以用multiset维护 但是菊花图跑 ...

  3. ActiveMQ 核心概念

    1.Failover 当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换. 如数据库.应用服务.硬件设备等的失效转移. 2.S ...

  4. 爬虫五 Beautifulsoup模块详细

    一.基本使用 from bs4 import BeautifulSoup htmlCharset = "GB2312" soup=BeautifulSoup(html_doc,'l ...

  5. python数据之间的转换和关系

    首先数据类型在我看来分为两类: 容器类:能存储数据,例如:元祖.列表.集合.字符串. 原子类:单纯保存数值,例如:整数.浮点数.复数. 容器类与容器类之间,一般都可以进行两两之间的转化. 原子类与原子 ...

  6. php 跨域 form提交 2种方法

    出于安全因素考虑,直接跨域访问是不允许的,下面介绍二种跨域的方法. 一,通过php curl function curlPost($url,$params) { $postData = ''; for ...

  7. Linux服务器操作指南

    1. linux下在某行的前一行或后一行添加内容 http://www.361way.com/sed-process-lines/2263.html

  8. Oracle数据库的启动与关闭

    一.概述: Oracle数据库的启动分为启动数据库实例.装载数据库和打开数据库3个过程,对应数据库的3种模式. 启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA.PGA等 ...

  9. Delphi中ComPort通信中的数据处理

    源: Delphi中ComPort通信中的数据处理

  10. Struts2笔记04——Hello World Example(转)

    原文地址:https://www.tutorialspoint.com/struts_2/ [注释]项目结构,次序估计有误 通过学习Struts2的架构,我们可以知道,在Struts2 web应用中, ...