Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mlskull

[Resolvido] copiar uma parte do texto.

Recommended Posts

Olá..

tou com um probleminha que não estou conseguindo chegar a uma conclusão..

meu porem é o seguinte..

tenho um arquivo de texto gigante.

quero copiar partes deste arquivo e gravar em outros arquivos.

 

Exemplo do arquivo:

 

texto texto texto texto texto texto

texto texto texto texto texto texto

/*BOF*/

texto texto texto texto texto texto

texto texto texto texto texto texto

texto texto texto texto texto texto

texto texto texto texto texto texto

\*FINAL DO SCRIPT*\

texto texto texto texto texto texto

texto texto texto texto texto texto

texto texto texto texto texto texto

/*BOF*/

texto texto texto texto texto texto

texto texto texto texto texto texto

texto texto texto texto texto texto

texto texto texto texto texto texto

\*FINAL DO SCRIPT*\texto

 

E assim por diante...

quero copiar/salvar em arquivos diferentes, somente o texto que esta entre o /*BOF*/ e o \*FINAL DO SCRIPT*\...

grava a primeira parte entre o /*BOF*/ e o \*FINAL DO SCRIPT*\ em um arquivo EX : cf1.txt

a segunda em cf2.txt

e assim por diante

 

 

Entenderam?

É meio Urgente..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido.....

ai vai o codigo abaixo....

espero que ajude a mais alguem..

 

<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
caminho = Server.Mappath("teste.txt")
Set TXT = FSO.OpenTextFile(caminho)
'cria o objeto, e busca pelo TXT indicado pela variável caminho como acima
'após abrir o TXT, enviará direto ao cliente todo conteúdo do TXT, neste exemplo, retornará "TESTE DE GRAVAÇÃO" como foi gravado acima
'txt.close

Dim sTexto
DIM l_cf(9999)
l_num = 0
while TXT.AtEndOfStream=false
stexto = TXT.readline 'passa o conteúdo da linha atual do arquivo para uma variável
'a partir daí você pode trabalhar com esta variável.
IF stexto = "/*BOF*/" THEN
	l_num = l_num + 1
	l_copia = "S"
END IF
IF l_copia = "S" THEN
	l_cf(l_num) = l_cf(l_num) & stexto & vbcrlf
END IF
IF stexto = "\*FINAL DO SCRIPT*\" THEN
	l_copia = "N"
END IF
wend
FOR x = 0 TO 9999
	IF l_cf(x) <> "" THEN
	  Set FSO = Server.CreateObject("Scripting.FileSystemObject")
	  caminho = Server.MapPath("cf"&x&".000")
	  'especifique aqui o caminho onde ficará/está o TXT
	  Set GRAVAR = FSO.CreateTextFile(caminho,true)
	  'Foi criado o objeto e logo após busca o txt em caminho para gravar, se não achar, vai cria-lo (por causa da marcação TRUE)
	  gravar.write (l_cf(x))
	  gravar.close
	  response.write "GRAVADO!"
	END IF
NEXT
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.