SUSCRÍBASE A NUESTRO BLOG
SOBRE APESOFT

ApeSoft es una compañía de soluciones de Gestión del Rendimiento Empresario: Gamification, Reporting, Dashboards, Planificación Presupuestaria y Balanced Scorecard, fundada en 1994, con sede central en España y oficinas en Estados Unidos.

Más información: Web ApeSoft

« Definir en Datacycle Reporting un fichero Excel como origen de datos de un informe | Main | Mapear una unidad de red, copiar un fichero en esa unidad y desmapear la unidad a través de Datacycle »
viernes
mar022007

Usar información de un Excel para renombrar un conjunto de directorios a través de 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

 

 

PrintView Printer Friendly Version

EmailEmail Article to Friend