Mac OS X 快速添加新文件
本文为 automator (中文名为 自动操作)的练习之作,尚有许多不足。
如果你想在 OS X 系统中快速添加新文件可直接参考此文
简介
本文使用 automator 创建了一个应用程序 autocreatefile 。运行这个应用程序时,它会尝试获取你所选中的文件或者文件夹,然后询问你希望生成的新的文件名,最后在所选文件同文件夹下,或者所选文件夹下创建一个你设定的文件名的文件。如果该文件已经存在,那么什么都不会发生。
操作
下面是具体的操作:
打开 automator 软件,中文名为 自动操作 。
依次选择 文件
- 新建
- 应用程序
。然后从左边的资源库里依次往右边添加如下图所示的六个操作。
第一个操作是 获取所选的访达项目 。这个操作的作用是获取到你选取的文件或者文件夹的路径。如果什么都没选,那么后面的步骤就无法进行下去了。
第二个操作是 设定变量的值 。这个操作的作用是将上一个操作获得的路径赋值给 filename。这是为了先将filename保存起来,不然一会儿后面要用的时候找不到。
第三个操作是一段 AppleScript 脚本。这段脚本的作用是使得当前运行的程序的窗口是活动窗口,且获得焦点。简而言之就是说程序的窗口显示在所有窗口的最上方,并且之后的输入框会在选中状态。
第四个操作是请求文本,这个操作的作用是引导用户输入文件名。这里勾了忽略此操作的输入,是为了避免前面传递过来的路径把 请求文本的默认文本替换掉。
第五个操作是将刚才保存起来的filename变量重新获取出来。它会和前面请求文本获得的文件名一起传递给下面的操作。
最后一个操作是一段 python 脚本。Shell 类型设置为 python ,传递输入设置为 作为自变量。这样设置后,前面的两个参数会以列表的形式存储到python 的sys.argv 中,如果是 至 stdin,那么需要在python中通过标准输入输出的读取进行读入。
具体代码如下
import os,sys
print len(sys.argv)
if len(sys.argv) > 2: # 至少得有三个参数传进来
if os.path.isdir(sys.argv[2]): # 如果传的是文件夹路径,那么直接就是这个路径
path = sys.argv[2]
else: # 如果传的是文件路径,那么需要获取到其所在的文件夹路径
path = os.path.dirname(sys.argv[2])
file = open(os.path.join(path,sys.argv[1] or "new.txt"),"a+") # a+ 如果已经有同名文件,不会改变原文件内容,如果没有的话,会有提示
print "succ"
file.close()
添加到访达快捷栏
前面提到的文章里,介绍了添加应用程序到访达快捷栏的方法
局限
由于我的这个应用程序依赖于选择文件或者文件夹,所以在什么都没选的情况下,可能会创建失败。
Mac OS X 快速添加新文件的更多相关文章
- 解决Mac OS X 系统在home文件夹下面操作不支持的方法
解决Mac OS X 系统在home文件夹下面操作不支持的方法 最近需要使用Mac OS X 系统尝试安装使用appium程序,安装过程中发现,Mac OS X 系统在home文件夹下面操作不支持 ...
- Linux下向SVN服务器添加新文件步骤
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain ...
- 如何解压 Mac OS X 下的 PKG 文件(网摘)
如何解压 Mac OS X 下的 PKG 文件 原文出处:[Macplay] 有时候我们可能需要解包 PKG 格式的安装文件包,在 OS X 系统下完成该操作并不需要你额外再安装软件,系统内置的命令就 ...
- MAC OS X显示.开头的文件_苹果操作系统显示隐藏文件命令
转自:http://dditblog.com/blog_446.html 今天在导入Eclipse项目的时候.发现导入不了.初步估计是因为项目没有.project的文件.在Mac OS X操作系统下面 ...
- Mac OS OneDrive 无法同步.DS_Store文件 出错
Mac OS OneDrive 无法同步.DS_Store文件 同步出错 解决方案: 第一步:打开 terminal 窗口,到本地同步的目录下: cd "/Users/gkjglobal/G ...
- 关于在工程中添加新文件时的LNK2019错误的一个解决办法
我这几天一直在研究Qt的串口程序,在读懂了官方给出的实例程序后我决定把其多线程的串口监视程序加入到我自己的工程中,便直接把问价复制到自己的工程下面,在Qt中加入到自己的工程中,但是总是出现LNK201 ...
- git stash -u 添加新文件
git 提交 有新文件执行 git stash -u ------ 如果已经执行git stash,会发现有UNtracked这个单词 说明新文件没有添加进去,此时 执行 git stash ...
- Openstack(十五)快速添加新计算节点
当后期添加新物理服务器作为计算节点,如果按照上面的过程安装配置的话会非常的慢,但是可以通过复制配置文件的方式快速添加. 15.1计算节点服务安装 #提前将yum仓库.防火墙.selinux.主机名.时 ...
- Github如何快速添加add文件到暂存区之git add
git add作用是将代码从工作区提交到暂存区 通常会想到:git add [file1] [file2] : 这个方法添加文件比较慢,如果文件比较多怎么办? git add *.扩展名 这条命令 ...
随机推荐
- Scala函数式编程(四)函数式的数据结构 上
这次来说说函数式的数据结构是什么样子的,本章会先用一个list来举例子说明,最后给出一个Tree数据结构的练习,放在公众号里面,练习里面给出了基本的结构,但代码是空缺的需要补上,此外还有预留的test ...
- 安装iris框架
1.导语 目前Go语言已经为大多数人所熟知,越来越多的开发人员选择使用Go语言来进行开发,但是如何使用 Go来进行web开发,在其他编程语言中都有对应的开发框架,当然在Go中也有,就是即将要介绍的-- ...
- C# Lazy Loading
前言 按需加载对象延迟加载实际是推迟进行创建对象,直到对其调用后才进行创建初始化,延迟(懒加载)的好处是提高系统性能,避免不必要的计算以及不必要的资源浪费. 常规有这些情况: 对象创建成本高且程序可能 ...
- Python与自然语言处理搭建环境
参考书籍<Python自然语言处理>,书籍中的版本是Python2和NLTK2,我使用的版本是Python3和NLTK3 实验环境Windows8.1,已有Python3.4,并安装了Nu ...
- win10 objectarx向导在 vs2015中不起作用的解决办法
我用autocad2018+vs2015+win10 安装好了objectarx向导模板之后,新建一个c++插件项目就这样: 但是打开之后会创建失败,这个时候就需要更改.props文件里的sdk路径. ...
- Android组合Windows环境下Frida的安装步骤
Frida是什么 我觉得官网已经说得很清楚了.简单的说就是一款动态代码检测工具,可用于各种系统,这里的主要用途是动态检测Android代码,配合Windows系统环境使用. Frida ...
- 不止面试-JVM垃圾回收面试题详解
第一部分:面试题 本次分享我们将尝试回答以下问题: GC 是什么? 为什么要有 GC? 简单说一下java的垃圾回收机制. JVM的常见垃圾回收算法有哪些? 为什么要使用分代回收机制? 如何判断一个对 ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python中 * 与 **, *args 与 **kwargs的用法
* 用于传递位置参数(positional argument) ** 用于传递关键字参数(keyword argument) 首先,先通过一个简单的例子来介绍 * 的用法: def add_funct ...
- CoderForces Round60-(1117A,1117B,1117C题解)
A. Best Subsegment time limit per test 1 second memory limit per test 256 megabytes input standard i ...