我在“运行JavaScript”操作中提取传递文件的标题时遇到问题。
当我将文件传递给“运行JavaScript”操作时,似乎准备好的函数的两个参数run()
, - input
和parameters
都不包含文件名。
如果我在“运行JavaScript”操作之前添加“设置变量值”操作,则会看到该变量被分配了实际文件。
如何在“运行JavaScript”操作中获取传递文件的文件名?
答案 0 :(得分:1)
我能够制作一个Automator工作流程,它将提供所选文件的名称作为运行JavaScript 操作的输入。我没有足够的StackOverflow信誉来发布截图。以下是操作列表:
询问Finder项目(我将其设置为允许单个文件)
运行AppleScript操作:
tell application "Finder" to set fileName to (item 1 of input)'s name
return fileName
运行JavaScript
运行JavaScript 的结果是文件的名称。 可能有更有效的方法来做到这一点,但我不熟悉它。
祝你好运,答案 1 :(得分:1)
使用Automator我可以构建一个仅使用JavaScript打开文件的工作流程:
运行JavaScript
function run(input, parameters) {
var FINDER = Application("Finder");
FINDER.includeStandardAdditions = true;
FINDER.activate();
var origin_file = FINDER.chooseFile({withPrompt: "Please select a document to process:"});
FINDER.open(origin_file);
return input;
}
和一个Folder Action工作流程,用于显示仅使用JavaScript移动到文件夹的文件路径:
运行JavaScript
function run(input, parameters) {
var app = Application.currentApplication();
app.includeStandardAdditions = true;
var text = "FileName = " + input[0];
var options = { };
app.displayAlert(text, options);
return input;
}
我希望能有所帮助