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
<div class="nombre-pelicula"><p>The November Man</p></div>
<div class="nombre-pelicula"><p>15 años y un día</p></div>
<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
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
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.
@Echo OFF
Set "DIV=<div class="nombre-pelicula"><p>The November Man</p></div>"
For /F "Tokens=4 Delims=<>" %%a in ('Echo "%DIV%"') Do (
Echo Label.SetEnabled^("%%a", True^);
)
Pause&Exit /B 0
Saludos
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
@Echo OFF
type nombre-pelis.txt
For /F "Tokens=1 Delims=<>" %%a in ('type nombre-pelis.txt') Do (
Echo Label.SetEnabled^("%%a", True^);
)> "final.txt"
_______________________________________
Label.SetEnabled("El crítico", True);
_______________________________________
yo quiero que ponga todos los nombres en una variable asi
______________________________________
Label.SetEnabled("The November Man", True);
Label.SetEnabled("15 años y un día", True);
Label.SetEnabled("El crítico", True);
______________________________________
Cita de: Eleкtro en 25 Julio 2014, 04:45 AM2. 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:Cita de: novato04 en 25 Julio 2014, 22:39 PMPodrias mandarme el ejemplo ;D
(For /F "Delims=" %%a in ('type "nombre-pelis.txt"') Do (
Echo Label.SetEnabled^("%%a", True^);
))>"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
Funciona el bat
@echo off
type nombre.txt
(For /F "Delims=" %%a in ('type "nombre.txt"') Do (
Echo Label.SetText^("Label1", "%%a"^);
)) >"final.txt"
Label.SetText("Label1", "Los siete samurais ");
Label.SetText("Label1", "Pulp fiction ");
Label.SetText("Label1", "Testigo de cargo ");
Solo me falta una cosa que salgan enumeradas asi
Label.SetText("Label1", "Los siete samurais ");
Label.SetText("Label2", "Pulp fiction ");
Label.SetText("Label3", "Testigo de cargo ");
;D ;D ;D ;D
"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...
Set /A "Count=0"
Set /A "Count += 1"
Echo %Count%
¿Porque no lees un manual básico de Batch?.
Saludos
Ise esto pero no me salio nada :(
@echo off
type nombre.txt
(For /F "Delims=" "" %%a in ('type "nombre.txt"') Do (
set /a enu+=1
Echo Label.SetText^("Label %enu%", "%%a"^);
)) >"final.txt"
soy novato
@echo off
rem type nombre.txt
(For /F "Delims=" %%a in ('type "nombre.txt"') Do (
Call set /a enu+=1
Echo Label.SetText^("Label %%enu%%", "%%a"^);
)) >"final.txt"
Otra solución sera activar EnableDelayedExpansion:
· http://ss64.com/nt/delayedexpansion.html
Saludos
@echo off
rem type nombre.txt
(For /F "Delims=" %%a in ('type "nombre.txt"') Do (
Call set /a enu+=1
Echo Label.SetText^("Label %%enu%%", "%%a"^);
)) >"final.txt
Sale esto al final
No se enumeran :huh:
Label.SetText("Label %enu%", "El padrino ");
Label.SetText("Label %enu%", "El padrino II ");
Label.SetText("Label %enu%", "La lista de Schindler ");
Lo corregí al vuelo (sin testearlo) y me confundí al usar la llamada a Call en la instrucción equivocada, ahora sí:
...
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!