elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  como sacar textos de html con cmd bat ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como sacar textos de html con cmd bat ?  (Leído 4,574 veces)
novato04

Desconectado Desconectado

Mensajes: 19



Ver Perfil
como sacar textos de html con cmd bat ?
« en: 25 Julio 2014, 03:28 am »

tengo un archivo html con todo este texto
pero lo que quiero hacer es sacar el nombre de la pelicula
con la etiqueta "<p>"

si se puede con otro lenguaje ayudenme..  ;D ;D

Código
  1. <div class="nombre-pelicula"><p>The November Man</p></div>
  2. <div class="nombre-pelicula"><p>15 años y un día</p></div>
  3. <div class="nombre-pelicula"><p>El crítico</p></div>
y despues ponerlo en un archivo de texto y meterlo con este parametro "Label.SetEnabled("", true);"
Asi quedaria

Código:
Label.SetEnabled("The November Man", true);
Label.SetEnabled("15 años y un día", true);
Label.SetEnabled("El crítico", true);

todo esto terminaria en un archivo de texto.
 ;D ;D ;D ;D ;D ;D ;D ;D ;D


« Última modificación: 25 Julio 2014, 17:39 pm por novato04 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #1 en: 25 Julio 2014, 04:45 am »


1. ¿Porque usas el icono de "resuelto" cuando tu problema no está resuelto?, la utilización de ese icono está reservada para los temas resueltos.

2. Al redactar un post con código, debes etiquetar el código utilizando su respectiva etiqueta GeShi.

3. ¿Has intentado hacer la tarea por ti mismo?, ¿donde está tu código demostrándolo?.




El formato que le pretendes dar al contenido del texto son instrucciones de otro lenguaje, las cuales me imagino que luego usarás en ese otro lenguaje, ¿entonces porque en lugar de parsear el HTML en ese lenguaje que estés utilizando, prefieres involucionar para usar una herramienta básica e imperfecta como es Batch?, no le encuentro sentido, si tienes dudas respecto a como parsear los atributos/tags de un HTML en ese lenguaje entonces te sugiero que formules una pregunta enfocada a ese lenguaje.

Batch no tiene soporte (por así decirlo) para la edición de HTML, además su capacidad RegEx es muy limitada, hay que recurrir a técnicas como Substring o Split (aunque esta última también es limitada en Batch), de todas formas se puede hacer ...pero no esperes precisión en ciertas circunstancias (Ej: Si la cadena contiene "<" o ">"), sinceramente has elegido el peor lenguaje que podías escojer, tómate lo que te he sugerido a modo de consejo.

Código
  1. @Echo OFF
  2.  
  3. Set "DIV=<div class="nombre-pelicula"><p>The November Man</p></div>"
  4.  
  5. For /F "Tokens=4 Delims=<>" %%a in ('Echo "%DIV%"') Do (
  6. Echo Label.SetEnabled^("%%a", True^);
  7. )
  8.  
  9. Pause&Exit /B 0

Saludos


« Última modificación: 25 Julio 2014, 04:59 am por Eleкtro » En línea

novato04

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #2 en: 25 Julio 2014, 17:22 pm »

Me ayudarias con esto  :D
Ise algunos cambios en el script para que funcione como quiero
porque como dijiste no se puede con html en cmd :c

Puse los nombres de las peliculas en un archivo de texto asi

The November Man
15 años y un día
El crítico

y con este script  pone los nombres de la peliculas en una variable pero
el problema es que solo pone un solo nombre

Código
  1. @Echo OFF
  2.  
  3. type nombre-pelis.txt
  4. For /F "Tokens=1 Delims=<>" %%a in ('type nombre-pelis.txt') Do (
  5. Echo Label.SetEnabled^("%%a", True^);
  6. )> "final.txt"
_______________________________________

Código
  1. Label.SetEnabled("El crítico", True);
_______________________________________
yo quiero que ponga todos los nombres en una variable asi
______________________________________
Código
  1. Label.SetEnabled("The November Man", True);
  2. Label.SetEnabled("15 años y un día", True);
  3. Label.SetEnabled("El crítico", True);
______________________________________


« Última modificación: 25 Julio 2014, 21:40 pm por novato04 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #3 en: 25 Julio 2014, 19:32 pm »

2. Al redactar un post con código, debes etiquetar el código utilizando su respectiva etiqueta GeShi.

Porfavor, respeta las normas.

En el For estás partiendo la cadena para tomar 1 solo Token, debes tomarlos todos, y tampoco debes usar delimitadores.
(si corriges tu post te mostraré un ejemplo :P)



EDITO:

Podrias mandarme el ejemplo  ;D

Código
  1. (For /F "Delims=" %%a in ('type "nombre-pelis.txt"') Do (
  2.    Echo Label.SetEnabled^("%%a", True^);
  3. ))>"final.txt"

PD: Sigo insistiendo en que no deberías usar Batch si dispones de un lenguaje de verdad, acostumbrarse a hacerlo por la via más sencilla no siempre es lo mejor :P.

Saludos
« Última modificación: 25 Julio 2014, 22:43 pm por Eleкtro » En línea

novato04

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #4 en: 26 Julio 2014, 01:15 am »

Funciona el bat
Código
  1. @echo off
  2. type nombre.txt
  3. (For /F "Delims=" %%a in ('type "nombre.txt"') Do (
  4.    Echo Label.SetText^("Label1", "%%a"^);
  5.  
  6. )) >"final.txt"


Código
  1. Label.SetText("Label1", "Los siete samurais ");
  2. Label.SetText("Label1", "Pulp fiction ");
  3. Label.SetText("Label1", "Testigo de cargo ");

Solo me falta una cosa que salgan enumeradas asi

Código
  1. Label.SetText("Label1", "Los siete samurais ");
  2. Label.SetText("Label2", "Pulp fiction ");
  3. Label.SetText("Label3", "Testigo de cargo ");

 ;D ;D ;D ;D
« Última modificación: 26 Julio 2014, 01:48 am por novato04 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #5 en: 26 Julio 2014, 01:39 am »

"Hasta infinito" es imposible ya que la capacidad de Batch equivale al valor máximo de un Int16 (32.767).

Solo tienes que setear una variable numérica y sumarle un valor de "1" en la iteración del For... vamos, tan dificil no es...
Código
  1. Set /A "Count=0"
  2. Set /A "Count += 1"
  3. Echo %Count%

¿Porque no lees un manual básico de Batch?.

Saludos
« Última modificación: 26 Julio 2014, 01:40 am por Eleкtro » En línea

novato04

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #6 en: 26 Julio 2014, 02:17 am »

Ise esto pero no me salio nada  :(


Código
  1. @echo off
  2. type nombre.txt
  3. (For /F "Delims=" "" %%a in ('type "nombre.txt"') Do (
  4.    set /a enu+=1
  5.    Echo Label.SetText^("Label %enu%", "%%a"^);
  6.  
  7. )) >"final.txt"

soy novato
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #7 en: 26 Julio 2014, 02:41 am »

Código
  1.    @echo off
  2.    rem type nombre.txt
  3.    (For /F "Delims=" %%a in ('type "nombre.txt"') Do (
  4.       Call set /a enu+=1
  5.       Echo Label.SetText^("Label %%enu%%", "%%a"^);
  6.    )) >"final.txt"

Otra solución sera activar EnableDelayedExpansion:
· http://ss64.com/nt/delayedexpansion.html

Saludos
En línea

novato04

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #8 en: 26 Julio 2014, 02:49 am »

Código
  1. @echo off
  2.    rem type nombre.txt
  3.    (For /F "Delims=" %%a in ('type "nombre.txt"') Do (
  4.       Call set /a enu+=1
  5.       Echo Label.SetText^("Label %%enu%%", "%%a"^);
  6.    )) >"final.txt
  7.  

Sale esto al final
No se enumeran  :huh:

Código
  1. Label.SetText("Label %enu%", "El padrino ");
  2. Label.SetText("Label %enu%", "El padrino II ");
  3. Label.SetText("Label %enu%", "La lista de Schindler ");
  4.  
« Última modificación: 26 Julio 2014, 03:00 am por novato04 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: como sacar textos de html con cmd bat ?
« Respuesta #9 en: 26 Julio 2014, 03:12 am »

Lo corregí al vuelo (sin testearlo) y me confundí al usar la llamada a Call en la instrucción equivocada, ahora sí:

Código:
...
set /a enu+=1
Call Echo Label.SetText^("Label %%enu%%", "%%a"^);
...

PD: No es necesario que me envies un MP cada vez que respondas al hilo, no por ello me voy a enterar más pronto.

Saludos!
« Última modificación: 26 Julio 2014, 03:16 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como editar una plantilla web flash? textos y las imagenes
Desarrollo Web
Pheztox 1 3,707 Último mensaje 12 Julio 2010, 14:05 pm
por MinusFour
¿Cómo sacar un texto dentro de otro otros textos?
.NET (C#, VB.NET, ASP)
Tzdah 1 2,375 Último mensaje 28 Julio 2013, 13:00 pm
por z3nth10n
Sacar textos de pantalla
Ingeniería Inversa
epicteto 0 1,702 Último mensaje 26 Enero 2014, 22:52 pm
por epicteto
Sacar dato de una select sql en php y html
PHP
jamatbar 1 2,021 Último mensaje 21 Noviembre 2020, 09:06 am
por jamatbar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines