Javascript 将仅具有特定文件扩展名的图像导入Photoshop
我是JavaScripting新手,从这个网站上学习了allot!。我有其他人的现有代码,它成功地将用户选择的文件夹中的所有图像导入photoshop。我想修改代码,只引入特定的文件扩展名Jpg、png、tiff…等等。我在下面这个网站上找到了一个很好的代码示例,说明了我想做的事情Javascript 将仅具有特定文件扩展名的图像导入Photoshop,javascript,import,photoshop,Javascript,Import,Photoshop,我是JavaScripting新手,从这个网站上学习了allot!。我有其他人的现有代码,它成功地将用户选择的文件夹中的所有图像导入photoshop。我想修改代码,只引入特定的文件扩展名Jpg、png、tiff…等等。我在下面这个网站上找到了一个很好的代码示例,说明了我想做的事情 var distilledFileList = []; for (var i = 0; i < fileList.length; i++){ if (/\.(?:jpe?g|png|gif|psd)$/i.
var distilledFileList = [];
for (var i = 0; i < fileList.length; i++){
if (/\.(?:jpe?g|png|gif|psd)$/i.test(fileList[i].name)){
distilledFileList.push(fileList[i]);
}
}
我还没有弄明白如何将这个版本成功地实现到我已经拥有的东西中。这里是我的代码的主要部分,我认为需要添加修改
#target photoshop
app.bringToFront();
// Dialog for user to choose folder of documents to process
var inputFolderArray = [];
do {
var inputFolder = Folder.selectDialog("Select a folder of documents to process");
if(inputFolder != null) {
inputFolderArray.push(inputFolder);
}
}
while(inputFolder != null
|| inputFolder != undefined)
// Pulls images from inputFolder
for (var j = 0; j < inputFolderArray.length; j++) {
var filesList = inputFolderArray[j].getFiles();
var outputDirectory = inputFolderArray[j] + '/';
}
function PSDCreate(frameArrays, outputDirectory) {
directory = outputDirectory + '/';
//var outputLocation = inputFolder + "/" + directory;
var outputFileName = '';
if (frameArrays != null) {
// Get all the files in the folder
var fileList = frameArrays;
var k = 0;
for (var i = 0; i < fileList.length; i++) {
if (fileList[i] instanceof File && fileList[i].hidden == false) {
var fileName = fileList[i].name;
var docRef = open(fileList[i]);
if(k == 0) {
k++;
outputFileName = RemoveExtension(docRef.name);
app.displayDialogs = DialogModes.NO;
}
}
}
// Execute changes to images in photoshop here..
有人知道如何将示例代码的一个版本实现到我偶然拥有的版本吗?非常感谢您的帮助 如果我理解正确,您希望用户选择几个文件夹,然后处理所有这些文件夹的文件。首先,这里
// Pulls images from inputFolder
for (var j = 0; j < inputFolderArray.length; j++) {
var filesList = inputFolderArray[j].getFiles();
var outputDirectory = inputFolderArray[j] + '/';
}
如果只需要打开这些文件,可以替换文件;使用app.openfileList[i] 在打开文件之前,添加一条检查文件扩展名的IFS语句。
// Pulls images from inputFolder
var files = []
for (var j = 0; j < inputFolderArray.length; j++)
{
var filesList = inputFolderArray[j].getFiles();
for (var i = 0; i < filesList.length; i++)
{
if (/\.(?:jpe?g|png|gif|psd)$/i.test(filesList[i].name)) files.push(filesList[i]); //get needed files from folders
}
}
alert(files); // < array of files