MASTER..xp_cmdshell

07/10/2005 - 01:54 por JESUS | Informe spam
Buenas foro, como puedo obtener el contenido de un directorio en el
analizador de consultas para poder obtener el listado de scripts que he
modificado y mediante el MASTER..xp_cmdshell y el sql dinamico ejecutar
todo de un solo bloque, sin generar un archivo bat, muchas gracias
 

Leer las respuestas

#1 Isaias
07/10/2005 - 04:20 | Informe spam
Hola Jesus

Espero sirva para lo que quieres:

- inicio
de codigo
DECLARE @cDirSpec VARCHAR(255)
SET @cDirSpec = 'E:\DOCUMENTOS\PARCIALES\'

IF (@cDirSpec IS NULL)
BEGIN
SELECT -1, 'El directorio a consultar, es requerido '
RETURN(0)
END

CREATE TABLE #DirList (SeqNo INT NOT NULL IDENTITY,
LineText VARCHAR(255) NULL, Peso INT)

SET @iFileCount = 0

IF IsNull(RTrim(@cFileSpec),'') = ''
SET @cFileSpec = '*.WAV' -- Tipos de archivos a mostrar

SET @cDirSpec = RTrim(@cDirSpec)
IF @cDirSpec != '' and Right(@cDirSpec,1) != '\'
SET @cDirSpec = @cDirSpec + '\'

SET @cCmdStr = 'DIR ' + @cDirSpec + @cFileSpec

INSERT #DirList (LineText)
EXEC master..xp_cmdshell @cCmdStr

DELETE FROM #DirList WHERE SubString(LineText,1,1) = ' ' OR LineText IS NULL
UPDATE #DirList SET PESO = REPLACE(SubString(LineText,19,20),',','')

UPDATE #DirList SET LineText = SubString(LineText,40,255)

IF (SELECT TOP 1 LineText FROM #DirList) = ''
RETURN(0)

IF (SELECT TOP 1 LineText FROM #DirList) = ''
RETURN(0)

SELECT SeqNo as ID, LineText AS NameFile,
Peso, @cDirSpec as PATH
FROM #DirList ORDER BY LineText DESC,PESO
-fin de
codigo
Saludos
IIslas


"JESUS" escribió:

Buenas foro, como puedo obtener el contenido de un directorio en el
analizador de consultas para poder obtener el listado de scripts que he
modificado y mediante el MASTER..xp_cmdshell y el sql dinamico ejecutar
todo de un solo bloque, sin generar un archivo bat, muchas gracias



Preguntas similares