Inicio > Transact-SQL > TSQL – Obtener una tabla con la información de los archivos de una carpeta de windows

TSQL – Obtener una tabla con la información de los archivos de una carpeta de windows


  Obtener una tabla con la información de los archivos de una carpeta de windows pasando un parametro

— Establezca la varible @FilePath en el directorio deseado y ejecutar el script.

— Declaración de Variables
DECLARE @FilePath VARCHAR(200)
DECLARE @tt VARCHAR(200)
DECLARE @Size VARCHAR(256)
DECLARE @FileName VARCHAR(500)
DECLARE @FileDate DATETIME

— Listados de los archivos *.bak de c:

Set @FilePath = ‘dir C:\*.BAK /-C’

DECLARE @ListadoArchivos TABLE (filename VARCHAR(200), fileSize VARCHAR(20), DateCreated DATETIME)

DECLARE @Jobs TABLE (filenamedt VARCHAR(1000))
INSERT INTO @Jobs EXEC master.dbo.xp_cmdshell @FilePath

— Recorrer la tabla @Jobs para completar la tabla @ListadoArchivos
DECLARE db_cursor CURSOR FOR SELECT * FROM @Jobs
OPEN db_cursor FETCH NEXT FROM db_cursor INTO @tt

WHILE @@FETCH_STATUS = 0
BEGIN
 BEGIN TRY
  SELECT @FileDate = CONVERT(DATETIME,SUBSTRING(@tt,0,21))
  ,@Size =SUBSTRING(LTRIM(SUBSTRING(@tt, 21, LEN(@tt))), 0, charindex(‘ ‘, LTRIM(SUBSTRING(@tt, 21, LEN(@tt)))) )
  ,@FileName = SUBSTRING(ltrim(SUBSTRING(@tt, 21, LEN(@tt))), charindex(‘ ‘, LTRIM(SUBSTRING(@tt, 21, LEN(@tt)))) , LEN(ltrim(SUBSTRING(@tt, 21, LEN(@tt)))) )
  IF(@FileDate is not null and @Size is not null and @FileName is not null )
   BEGIN
   INSERT INTO @ListadoArchivos ( DateCreated, fileSize , filename)
    VALUES (@FileDate, @Size,LTRIM(@FileName))
  END
 END TRY
 BEGIN CATCH
 END CATCH
 FETCH NEXT FROM
db_cursor INTO @tt
END

CLOSE db_cursor
DEALLOCATE db_cursor

SELECT * FROM @ListadoArchivos

Categorías:Transact-SQL
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: