带有地址栏的 selectDialog 而不是带有 Photoshop 脚本的下拉菜单

selectDialog with address bar instead of dropdown with Photoshop script

我正在为 Photoshop 编写自定义脚本来处理图像的批处理。我有两个输入文件夹和一个需要指定的输出文件夹。现在我正在使用类似的东西来 select 我的文件夹:

var inputFolder = Folder.selectDialog("Select a folder of  images to process");

因为我在一个文件夹层次结构非常深的服务器上工作,所以通过 Photoshop 在此对话框中向我显示的下拉菜单 select 可能真的很痛苦。

如果有一个带有地址栏和快速访问面板的文件夹 selection 对话框会容易得多:

我一直在研究的所有其他 PS 脚本都使用 Folder.selectDialog 方法将文件路径设置为变量。是否有一个原因?如果没有,那么我如何指示 Photoshop 文件夹导航对话框的第二种样式?

Adobe 似乎不支持将此对话框作为文件夹选择选项。

在 Adob​​e 论坛上发布了一个与此类似的主题,其中提出了解决方法:

https://forums.adobe.com/thread/1094128

建议的解决方案是使用 saveDialog 函数而不是 selectFolder。这为您提供了我们想要的文件夹对话框,但缺点是必须在文件名路径中键入虚拟名称。它还在对话框的顶部显示 "Save As",这令人困惑。

这是提供的内容:

by lilsmokie on Nov 8, 2012 2:19 PM

 var dskTop = Folder.desktop;
    var dskPth = String(dskTop);
    var newSpot = new File(dskPth+"/poop");
    var selectedFolder = newSpot.saveDlg('Select Destination Folder');
    var illFilePath = selectedFolder.path;
    alert(illFilePath); 

This opens the dialog at the desktop. Then put "poop" or whatever you like in the text field. There the user can navigate to where ever. When they it save illFilePath will have the folder path. Not perfect but its close enough for me right now.

我还发现我可以通过使用 selectDlg 来设置 selectDialog 的起始位置:

var outputFolder = Folder(app.activeDocument.path).selectDlg("Select a folder to output images to:");

这样可以在一定程度上控制起始位置,这样用户就不必点击一百万个下拉菜单。

在第一个屏幕截图的底部,您可以看到未输入的文本区域 Folder: This PC。它就像地址栏一样工作。您可以在此区域中键入(或粘贴)类似 \server\work\folder\subfolder 的内容,然后您会立即获得此文件夹(在本例中为 'subfolder')。

在 MacOS 上,此对话框不显示 Folder: ... 输入区域。但是你可以随时按Cmd-Shift-G获取原生系统'address bar'