Loading...

Extraer información de un archivo de texto csv con ASP clásico

Ez.Biz Cloudware
Blog de ASP Clásico

Extraer información de un archivo de texto csv con ASP clásico

Código ASP clásico

Por ASP clásico / 22/07/2024 @ 09:58:15 / 1536 visitas

En este artículo, te mostraremos cómo usar un script en ASP Clásico para leer y procesar un archivo de texto, extrayendo información específica y guardándola en un nuevo archivo. Este procedimiento es especialmente útil para manejar registros y datos almacenados en archivos de texto, y se integrará perfectamente con tu base de datos SQL Server.

Leer archivo de texto CSV

const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\datos.csv", ForReading)
Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    arrFields = Split(strLine, ",")
    If InStr(arrFields(1), "Everyone") Then
        strContents = strContents & arrFields(5) & vbCrlf
    End If
Loop
objFile.Close
Set objFile = objFSO.CreateTextFile("C:\Scripts\completo.csv")
objFile.Write strContents
objFile.Close


Explicación del Script ASP clásico para leer un archivo CSV

Primero, veamos el archivo de texto en cuestión (C:\Scripts\datos.csv):

MBPGPS1PRN-001\,Administrators,LOCALGROUP,S-1-5-32-544,PRINTSHARE,\\MBPGPS1PRN-001\mbbetsb01,OWNER,,
MBPGPS1PRN-001,Everyone,GLOBALGROUP,S-1-1-0,PRINTSHARE,\\MBPGPS1PRN-001\mbbetsb01,(+PrR),,
MBPGPS1PRN-001,Everyone,GLOBALGROUP,S-1-1-0,PRINTSHARE,\\MBPGPS1PRN-002\mbbetsb01,(+PrR),,
MBPGPS1PRN-001,Administrators,GLOBALGROUP,S-1-1-0,PRINTSHARE,\\MBPGPS1PRN-001\mbbetsb01,(+PrR),,
MBPGPS2PRN-001,Everyone,GLOBALGROUP,S-1-1-0,PRINTSHARE,\\MBPGPS2PRN-001\mbbet02,(+PrR),,


Cada línea en este archivo contiene múltiples campos separados por comas. Nuestro objetivo es identificar las líneas donde el segundo campo contiene la palabra "Everyone" y extraer el sexto campo de esas líneas.

Pasos del Script:

Definición de la Constante y Apertura del Archivo:

Definimos una constante ForReading con el valor 1 para abrir el archivo en modo lectura. Luego, creamos una instancia de Scripting.FileSystemObject y abrimos datos.csv:


Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\datos.csv", ForReading)


Lectura y Procesamiento del Archivo:Utilizamos un bucle Do Until para leer el archivo línea por línea hasta llegar al final. Leemos cada línea y la almacenamos en strLine:


Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    arrFields = Split(strLine, ",")


División de la Línea en Campos:Convertimos cada línea en un array utilizando la función Split, que divide la línea en cada coma encontrada:


arrFields = Split(strLine, ",")


Verificación y Extracción:Verificamos si el segundo campo contiene "Everyone" y, de ser así, agregamos el sexto campo a la variable strContents con un salto de línea:


If InStr(arrFields(1), "Everyone") Then
    strContents = strContents & arrFields(5) & vbCrlf
End If


Creación del Nuevo Archivo:Una vez procesadas todas las líneas, cerramos datos.csv y creamos un nuevo archivo completo.csv, donde escribimos los datos extraídos:


objFile.Close
Set objFile = objFSO.CreateTextFile("C:\Scripts\completo.csv")
objFile.Write strContents
objFile.Close


Resultado

El archivo completo.csv contendrá las rutas de las impresoras a las que el grupo "Everyone" tiene acceso:

\\MBPGPS1PRN-001\mbbetsb01
\\MBPGPS1PRN-002\mbbetsb01
\\MBPGPS2PRN-001\mbbet02


Con este script, puedes automatizar la extracción de datos específicos de archivos de texto, facilitando la gestión de permisos y recursos en tu red. Además, esta técnica se puede adaptar y expandir para manejar diferentes tipos de archivos y datos según tus necesidades.


Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.

ASP Clásico, SQL Server, procesamiento de archivos, extracción de datos, VBScript, lectura de archivos, automatización de texto, FileSystemObject, manejo de datos

Descargo de Responsabilidad:

El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.