zoukankan      html  css  js  c++  java
  • 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()
    

    添加到访达快捷栏

    前面提到的文章里,介绍了添加应用程序到访达快捷栏的方法

    快捷栏

    局限

    由于我的这个应用程序依赖于选择文件或者文件夹,所以在什么都没选的情况下,可能会创建失败。

    参见

  • 相关阅读:
    hibernate4 使用及 新特性
    hibernate数据库配置
    Hibernate 插入,修改,删除,查询语句
    Hibernate之HQL总结
    简单编程题
    冒泡排序
    Accelerating Enum-Based Dictionaries with Generic EnumComparer
    本机自定义域名跳转
    ckeditor自己用的配置文件config.js
    RazorExtensions Templated Razor Delegates
  • 原文地址:https://www.cnblogs.com/tangyikejun/p/12046569.html
Copyright © 2011-2022 走看看