我正在尝试制作脚本或自动unrar
将所选文件解压缩到特定文件夹(硬编码)。
我希望在选择文件时,通过单击finder中的按钮或键盘快捷键在终端中运行以下代码。
unrar e <path_to_selected_file.rar> <hard_coded_path>
我怎样才能以最好的方式做到这一点?
答案 0 :(得分:1)
如果您的目标路径是硬编码的,那么我建议您使用Automator。 首先创建一个服务。选择顶部,&#34;获取文件&#34;在应用程序&#34; Finder&#34;。 然后只添加一个动作:&#34;运行Applescript&#34;。
在该操作中,默认脚本以变量&#34; input&#34;开头。当您在Finder中右键单击它们时,此变量将包含所有选定文件的列表。构建脚本以循环遍历该列表的文件,使用POXIS函数将finder路径(myUser:myfolder:myfile)转换为shell路径(myUser / myfolder / myfile)。使用此路径,使用&#34; do shell脚本&#34;命令运行你的&#34; unbar&#34;脚本。
保存和测试后,您还可以为该服务定义快捷键(在“系统偏好设置”中)。
以下是应在Applescript Action中的脚本:
on run {input, parameters}
set Destination to path to desktop folder -- User Desktop by default. can be changed
set PosixDest to POSIX path of Destination
set SelectedFiles to input
repeat with myFile in SelectedFiles -- loop through each selected file
set PosixF to POSIX path of myFile -- convert Finder path to Unix path
try -- try block to handle error during unbar
do shell script "unrar e " & (quoted form of PosixF) & " " & (quoted form of PosixDest)
end try
end repeat -- next file
return input
end run
只要您选择压缩文件(接受unbar命令),此示例就会运行。为了更安全,您应该只在文件中添加一个测试,以检查它是否为unbar文件。如果没有,就什么都不做。