AnsweredAssumed Answered

Script recursivo para cambiar el nombre de un determinado espacio 'repetitivo'.

Question asked by antoniojmv on May 15, 2013
Latest reply on May 15, 2013 by cristinamr
Buenos días,

Sé que resulta un script sencillo, pero he pensado que sería interesante compartirlo. La creación surgió ante la necesidad planteada por parte de un cliente de cambiar a todas las carpetas llamadas "Borrador", de una estructura que contenía aproximadamente unas 250 carpetas con ese nombre, por otro nombre distinto. Tanto el nombre de búsqueda como el nuevo nombre de los espacios es configurable a través de dos variables definidas a principio del script. Además de cambiar el nombre, también se modifica el title del nodo. Espero que sea útil!

<javascript>

//Cambiamos el nombre del espacio "folderToChange" a "newName"

var node;

var folderToChange = "Borrador";
var newName = "Nombre Nuevo";

for (var i=0;i<space.children.length;i++){
   var childName = space.children;
   if(childName != null)
   {
      if(childName.isContainer)
      {
         var borradorFolder = childName.childByNamePath(folderToChange);
         if (borradorFolder != null)
         {
            borradorFolder.name = newName;
            borradorFolder.properties.title = newName;
            borradorFolder.save();
                              
         }
         recursion(childName); 
      }
          else
      {
         var borradorFolder = childName.childByNamePath(folderToChange);
         if (borradorFolder != null)
         {       
            borradorFolder.name = newName;
            borradorFolder.properties.title = newName;
            borradorFolder.save();

         }
      }
   }
}
     
function recursion(node){
  if(node != null)
  {
   for(var j=0; j<node.children.length; j++)
   {
      if(node.children[j] != null)
      {
         if(node.children[j].isContainer)
         {
            var borradorFolder = node.children[j].childByNamePath(folderToChange);
            if (borradorFolder != null)
            {      
               borradorFolder.name = newName;
               borradorFolder.properties.title = newName;
               borradorFolder.save();

            }
            recursion(node.children[j]); 
         }
         else
         {
            var borradorFolder = node.children[j].childByNamePath(folderToChange);
            if (borradorFolder != null)
            {

               borradorFolder.name = newName;
               borradorFolder.properties.title = newName;
               borradorFolder.save();
            } 
         }
      }
   }
  }
}
</javascript>

Outcomes