Skip to main content
Dale_
Known Participant
August 8, 2017
Answered

List subfolders in a function

  • August 8, 2017
  • 1 reply
  • 2052 views

Hi,

I want to add a small function to a script that logs the name of every subfolder in the root folder/parent folder of the one I am working from.

Here is what I have so far:

var docRef = app.activeDocument;

var sourceFolder = Folder (docRef.path);

var sourceName = sourceFolder.name;

var rootFolder= Folder (sourceFolder.path);

var rootName = rootFolder.name;

function sLog (){

    var folderName = String(rootFolder.name);

    var sub = folderName.includeSubFolders;

    alert (sub);

    }

sLog();

I want the alert to be able to list every folder.

Any ideas?

This topic has been closed for replies.
SuperMerlin
Inspiring
August 8, 2017

Something like this.

#target photoshop;

var folders =[];

var topLevel = Folder.selectDialog("Please select top level folder");   

folders = FindAllFolders(topLevel, folders);

folders.unshift(topLevel);

alert(folders.join("\n"));

function FindAllFolders( srcFolderStr, destArray) {

    var fileFolderArray = Folder( srcFolderStr ).getFiles();

    for ( var i = 0; i < fileFolderArray.length; i++ ) {

        var fileFoldObj = fileFolderArray;

        if ( fileFoldObj instanceof File ) {           

        } else {

         destArray.push( Folder(fileFoldObj) );

        FindAllFolders( fileFoldObj.toString(), destArray );

        }

    }

    return destArray;

};

Dale_
Dale_Author
Known Participant
August 8, 2017

Cheers Merlin, this result includes the full path.

Any ideas on how to remove the path "~/Documents/Base/FileName" so it just shows "FileName" for the list?