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()

添加到访达快捷栏

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

局限

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

参见

原文地址:https://www.cnblogs.com/tangyikejun/p/12046569.html

时间: 2024-10-11 10:58:55

Mac OS X 快速添加新文件的相关文章

在 Mac OS X 系统中修改文件权限

在Finder中定位到要修改权限的文件或应用 通过“文件”菜单栏或右键菜单选择“显示简介”(快捷键Cmd+I) 找到简介面板的最下方的“共享与权限”(Sharing&Permissions)部分 按需对不同用户赋予权限:读与写(readandwrite).只读(readonly).无访问权限(no access) 权限设置完成后关闭文件简介面板后立即生效.同时,您也可以配合之前介绍的“OSX系统内置FTP工具”技巧使用. 当然,你也可以利用命令行模式来对文件权限进行修改;本文就不涉及了,大家可以

Linux下向SVN服务器添加新文件步骤

1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1/pro/domain    简写:svn co 2.往版本库中添加新的文件 svn add file   例如:svn add test.php(添加test.php)   svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "LogMessage"

Mac OS OneDrive 无法同步.DS_Store文件 出错

Mac OS OneDrive 无法同步.DS_Store文件 同步出错 解决方案: 第一步:打开 terminal 窗口,到本地同步的目录下: cd "/Users/gkjglobal/GKJ Global/" #改成自己的本地同步目录 第二步:执行:查找和删除 find . -type f -name '.DS_Store' -exec rm {} \; .DS_Store是用于记录 MAC 系统当前文件上次打开位置的信息,如果你不关注,可以通过系统设置进行关闭此项功能,以禁止该文

关于在工程中添加新文件时的LNK2019错误的一个解决办法

我这几天一直在研究Qt的串口程序,在读懂了官方给出的实例程序后我决定把其多线程的串口监视程序加入到我自己的工程中,便直接把问价复制到自己的工程下面,在Qt中加入到自己的工程中,但是总是出现LNK2019问题,问题提示是新添加的文件链接错误.我在网上找到一种解释: 在pro里 写 qt+=widgets 表示引入 QtWidget这个module,qmake会在帮你生成makefile的时候,设置好include path 和 lib path,在link时候设置好libs.而仅在源代码里 inc

解决 Mac OS X 11无法copy文件问题

1.升级Mac OS X 11之后,想要copy文件到系统目录下. sudo cp -f test.txt /usr/bin/ 2.发现即使用权限sudo,也有权限问题. cp: /usr/bin/test: Operation not permitted 3.原因是升级Mac OS X 11之后El Capitan 加入了Rootless机制,不再能在随便编辑更何路径了,即使设置 root 权限也不可以. ps:Rootless机制是用来抵抗恶意程序的. 4.bin目录下的拷贝需要关闭Root

如何解压 Mac OS X 下的 PKG 文件(网摘)

参考链接地址: http://macplay.leanote.com/post/55182a1b58157b2c72000000 有时候我们可能需要解包 PKG 格式的安装文件包,在 OS X 系统下完成该操作并不需要你额外再安装软件,系统内置的命令就可以.步骤也比较简单: :::bash xar -xf Setup.pkg cat mac-screenshot-gotd.pkg/Payload | cpio -i

如何让Mac OS X系统显示资源文件

Mac 系统对用户的资源文件(Library)默认是隐藏的.但是往往很多时候都是需要用到这个文件的.对于一些不太熟悉命令的用户还是有必要显示出来.经常遇到找某个文件找不到,但它确实是存在的.比如说我需要找Android的配置文件,SDK,gradle等时,在命令查看在用户的目录下存在一个Library的文件夹,但是打开用户目录却不见这个文件夹.如下图: 在打开Finder,进入"个人"(图标是个小房子)文件夹,查看确无此文件夹.如下图: 我们要怎么操作使得资源文件可见呢?具体操作如下:

svn添加新文件自动忽略

背景:做项目,用的客户端TortoiseSVN1.8,发现新建的文件,不是问号(?),而是自动忽略的减号,提交的时候也确实没有,说明不是符号混乱,确实是被忽略了,网上找了解决方案记录如下: 查看svn文件的根目录,截图如下(有svn的标记): 在空白处右键,选择‘属性’->选择‘Subversion’,如图: 点击‘Properties’,如图: 发现全局忽略中有个*,点击Edit,如下: 删除第一行的*,它代表所有都忽略,点击‘ok’保存 然后再试试,发现一切都正常了

Linux/Mac OS 下 批量提交 新增文件到SVN 服务器

命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次性增加所有新增的文件到svn库: svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn add 一次性从svn库删除所有需要删除的文件 svn st | awk '{if ($1 == "!") {print $