Usar información de un Excel para renombrar un conjunto de directorios a través de Datacycle
03-2-2007
Montse Cortés in Base de Conocimiento DataCycle

La versatilidad de la tarea de ejecución de scripts de un proceso de Datacycle Reporting permite realizar tareas como la de renombrar un conjunto de directorios en base a unos nombres especificados en una hoja de un libro Excel.

A continuación se muestra un ejemplo programado en Visual Basic Script:

 1. Paso 1

Definir en un libro Excel llamado test.xls en la primera hora 2 columnas. La primera columna contiene una lista de directorios existentes con los nombres antiguos y la segunda columna contiene los nuevos nombres que se asignarán a cada directorio.

foldernames.jpg

 

 

 

 

 

 

 

 

 

 

 

 

2. Paso 2 

Script que ejecutará la tarea de renombrar los subdirectorios de la carpeta C:\Scripts de la máquina donde se ejecuta Datacycle partiendo de la información del fichero c:\scripts\test.xls

Sub RenombrarCarpetas
    dim strComputer,objWMIService,objExcel,objWorkbook,strOldFolderName
    dim strNewFolderName,errResults,i

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\Test.xls")
    objExcel.Visible = FALSE
    i = 1

    Do Until objExcel.Cells(i, 1).Value = ""
            strOldFolderName = objExcel.Cells(i, 1).Value
           strNewFolderName = objExcel.Cells(i, 2).Value
            strOldFolderName = Replace(strOldFolderName, "\", "\\")

            Set colFolders = objWMIService.ExecQuery _
                ("Select * from Win32_Directory where Name = '" & strOldFolderName & "'")

            For Each objFolder in colFolders
                errResults = objFolder.Rename(strNewFolderName)
            Next

            i = i + 1
    Loop

End Sub

 

 

Article originally appeared on ApeSoft (http://blog.apesoft.es/).
See website for complete article licensing information.