试图编写一个服务,我可以控制并单击多个文件,运行一个Automator服务,该服务将这些文件的路径复制到剪贴板,并执行一些字符串替换。
这就是我得到的:
1。输入
2。运行JavaScript
function run(input, parameters) {
var path = String(input);
path = path.replace(/^.+\/websites\//, "/"); // this should remove some stuff off the paths up until /websites/
return path;
}
3。复制到剪贴板
问题:仅将最后一个文件复制到剪贴板。
如何解决此问题,以便选择多个文件,使Automator遍历所有路径,使用JavaScript进行必要的文本替换以及将所有新路径复制到剪贴板?
我尝试过for (path in input) { ... }
,但是path是带有输入索引值的字符串...
PS:如何使用AppleScript做到这一点?
答案 0 :(得分:0)
由于这是JavaScript,因此可以奢侈地使用map
,这意味着不需要传统意义上的循环:
function run(input) {
return input.map( fp => fp.replace(/^.+\/websites\//. '/') );
}
您应该检查的一件事(我之所以没有这样做,是因为我不清楚上下文),是input
以posix格式接收路径,例如 /path/to/something
,而不是旧的HFS格式,例如 Macintosh HD:path:to:something
。