Skip to content

Instantly share code, notes, and snippets.

@wvpv
Created March 12, 2025 18:33
Show Gist options
  • Save wvpv/32ee14f50c22561cba8f69f5b5326e7f to your computer and use it in GitHub Desktop.
Save wvpv/32ee14f50c22561cba8f69f5b5326e7f to your computer and use it in GitHub Desktop.
Traverse Child Folders with SSJS
<script runat="server" language="javascript">
Platform.Load("core","1");
var prox = new Script.Util.WSProxy();
function traverseChildFolders(parentID) {
var cols = ["ID","ParentFolder.ID","Name"];
var filter = {Property: "ParentFolder.ID", SimpleOperator: "equals", Value: parentID};
var opts = {};
var props = {};
var folderResults = prox.retrieve("DataFolder", cols, filter, opts, props);
var folderArr = folderResults.Results
for (var i = 0; i < folderArr.length; i++) {
var folderObj = folderArr[i];
if (folderObj.ParentFolder && folderObj.ParentFolder.ID === parentID) {
// DO STUFF FOLDER-Y STUFF HERE
traverseChildFolders(folderObj.ID);
}
}
}
// START WALKING HERE
var rootCategoryID = 111111
traverseChildFolders(rootCategoryID);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment