帮我在aftereffects中写一个panel,里面包含ok按钮,droplist,和文件夹选择按钮,选择文件夹选择按钮选择文件,生成以文件夹里文件名为标准的列表,按Ok按钮,显示选择的文件的路径的ae脚本
时间: 2024-03-16 21:44:42 浏览: 104
生成某目录下所有文件的路径list
好的,您可以参考以下代码实现您的需求:
```jsx
(function() {
// 创建面板
var myPanel = (this.myPanel = function() {
var win = new Window('palette', 'My Panel', undefined, {
resizeable: true
});
win.alignChildren = ['fill', 'top'];
// 创建文件夹选择按钮
var folderBtn = win.add('button', undefined, '选择文件夹');
folderBtn.onClick = function() {
var folderPath = Folder.selectDialog('请选择文件夹');
if (folderPath) {
// 获取文件夹下的所有文件名
var files = folderPath.getFiles();
var fileNames = [];
for (var i = 0; i < files.length; i++) {
if (files[i] instanceof File && files[i].name.match(/\.(jsx|jsxinc)$/i)) {
fileNames.push(files[i].name);
}
}
// 将文件名列表设置为下拉列表的选项
dropList.removeAll();
dropList.add('item', '请选择文件');
for (var i = 0; i < fileNames.length; i++) {
dropList.add('item', fileNames[i]);
}
}
};
// 创建下拉列表
var dropList = win.add('dropdownlist', undefined, ['请选择文件']);
dropList.selection = 0;
// 创建OK按钮
var okBtn = win.add('button', undefined, 'OK');
okBtn.onClick = function() {
var fileName = dropList.selection.text;
if (fileName !== '请选择文件') {
var folderPath = new Folder(folderBtn.text);
// 拼接文件路径
var filePath = new File(folderPath.fsName + '/' + fileName);
// 在控制台输出文件路径
alert(filePath.fsName);
}
};
return win;
})();
// 显示面板
if (myPanel instanceof Panel) {
myPanel.show();
} else {
myPanel();
}
})();
```
代码中使用了JavaScript语言编写了一个面板,包含了文件夹选择按钮、下拉列表和OK按钮。当点击文件夹选择按钮时,弹出文件夹选择对话框,选择文件夹后获取文件夹下的所有.jsx和.jsxinc文件名,设置为下拉列表的选项。当点击OK按钮时,获取选择的文件名和文件夹路径,拼接出文件路径并在弹出框中显示。您可以根据自己的需求修改代码。
阅读全文