安全清倒废纸篓(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. 2014-08-28——移动端,触摸事件 touchstart、touchmove、touchend、touchcancel

    1.Touch事件简介在移动终端上的web页面触屏时会产生ontouchstart.ontouchmove.ontouchend.ontouchcancel 事件,分别对应了触屏开始.拖拽及完成触屏事 ...

  2. angular2表单初体验

    1.创建movie模型. 最近对angular2比较感兴趣,跟着官网学习一段,练习了一个表单demo! src/app/movie.ts文件: export class Movie{ construc ...

  3. Java语言实现简单FTP软件------>FTP软件主界面的实现(四)

    首先看一下该软件的整体代码框架                        1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; im ...

  4. 004-RIP、OSPF【路由选择协议】

    常见的路由选择协议有:RIP协议.OSPF协议. 1.RIP协议 路由信息协议(英语:Routing Information Protocol,缩写:RIP)是一种内部网关协议(IGP),为最早出现的 ...

  5. mysql数据库补充知识7 索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  6. 爬虫基本库之beautifulsoup

    一.beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...

  7. SQLServer数据库基本操作,导入Excel数据

    打开SQLServer客户端,连上服务端 先建立数据库,点击新建查询 基本操作如下 创建表 create table mytest ( id int primary key identity(1,1) ...

  8. $.messager.confirm修改弹出框按钮提示文字

    $.messager.confirm 默认提示语为“OK”和“Cancel”.引入中文控件后变为“确定”和“取消” <script src="../js/locale/easyui-l ...

  9. pyhton3 time模块

    来自:菜鸟教程 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为 ...

  10. asp.net 移除Server, X-Powered-By, 和X-AspNet-Version头

    我们在开发Asp.net中,最后部署在IIS上. 然后发送HTTP请求,返回的HTTP头中包含Server, X-Powered-By, 和 X-AspNet-Version信息. 这些信息有时给攻击 ...