Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Agosto 30, 2008, 01:51:28
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
The Shadow
) | Tema:
COMO ESCOGER UNA LINEA DE OTRO TEXTO?
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: COMO ESCOGER UNA LINEA DE OTRO TEXTO? (Leído 353 veces)
nikecito
Colaborador
Desconectado
Mensajes: 488
Nikecito :: La maldad es buena >=)
COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
en:
Mayo 02, 2008, 02:51:40 »
bueno mi pregunta es simple digamos q tengo este bat
@echo off
echo hola
echo como estas
echo MOSTRAR LA LINEA 4 DEL ARCHIVO C:\hola.txt
echo eso es todo
ahora el archivo C:\hola.txt tiene este contenido:
platano
manzana
mandarina
uva
pera
frutilla
y la cuestion es q no se como hacer para q en el bat 1 se muestre la linea 4 del otro archivo estava viendo aldo de call pero creo q no es la respuesta :S ase tiempo vi alguito sobre eso pero no es lo q busco ademas me estoy oxidando
espero q me puedan ayudar =)
En línea
1101110 1101001 1101011 1100101 1111000 1101001 1110100 1101111
ECDundy
Habitual
Desconectado
Mensajes: 189
throw new exception(":)");
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #1 en:
Mayo 03, 2008, 11:56:41 »
trabajando con "FOR /F" puedes hacerlo
Por cierto yo tambien tengo una duda. Aprovechando el ejemplo de nuestro amigo. Como puedo hacer para guardar en una variable la palabra uva en la cuarta linea del texto?
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.programmersheaven.com/user/ECDundy/blog/
plof
Miembro
Desconectado
Mensajes: 88
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #2 en:
Mayo 04, 2008, 09:26:32 »
Buenas:
Respondiendo a los dos, un programa que pide como entradas el número de linea y la ruta del texto, devolviendo el contenido de toda esa linea entera.
@echo off&call:main %*&goto:EOF
:linea_texto
set /A n=%2
FOR /F "tokens=*" %%i IN (%1) DO (call:aux_for %%i)
goto:EOF
:aux_for
set /A n-=1
if %n% EQU 0 (set res=%1)
goto:EOF
:main
set /p linea=Inserte la linea de texto^>
set /p texto=Inserte ruta del txt^>
call:linea_texto %texto% %linea%
echo La linea %linea% en %texto%:
echo %res%
pause
goto:EOF
Lo malo es que recorrería todo el texto hasta %linea%, aun habiendo obtenido la linea que se pedía.
Además, si es un texto vacío y pedimos la linea 100 por ejemplo, el bucle realizaría 100 iteraciones antes de salir.
Solución: Poder detectar el fin de fichero con batch (yo no tengo ni idea)
Un saludo.
En línea
ECDundy
Habitual
Desconectado
Mensajes: 189
throw new exception(":)");
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #3 en:
Mayo 04, 2008, 02:03:17 »
Si, no es muy practico tu codigo. Pero lo aprovechare pues me gustaria acabar de llevarme una idea firme de lo que es el:
Código:
@echo off&call:main %*&goto:EOF
en tu codigo como parte explicativa. En especial como funciona el goto:EOF, que estas haciendo realmente? y que posibilidades brinda hacer goto:EOF?
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.programmersheaven.com/user/ECDundy/blog/
:: SmartGenius :: ツ
Moderación
Gran Colaborador
Desconectado
Mensajes: 1852
Jhoannita I <3 U ... ;)
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #4 en:
Mayo 04, 2008, 03:09:53 »
Cita de: ECDundy en Mayo 04, 2008, 02:03:17
Si, no es muy practico tu codigo. Pero lo aprovechare pues me gustaria acabar de llevarme una idea firme de lo que es el:
Código:
@echo off&call:main %*&goto:EOF
en tu codigo como parte explicativa. En especial como funciona el goto:EOF, que estas haciendo realmente? y que posibilidades brinda hacer goto:EOF?
yo tambien estaria interesado en saber a ciencia cierta como funciona esto, ya que creo que va ligado con el call, y lo he visto mucho en las funciones que ha posteado The Shadow...
Saludos.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Reglas del Area de Phreaking - Leetelas
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
[TUTORIAL] Como Hackear Telefonos por Bluetooth !!
Sh4k4
Colaborador
Desconectado
Mensajes: 557
SHAKA
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #5 en:
Mayo 04, 2008, 04:56:38 »
se pegan los comandos iniciales y se corren no es gran ciencia...the shadow haznos el honor..
En línea
Arayashiki
plof
Miembro
Desconectado
Mensajes: 88
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #6 en:
Mayo 04, 2008, 06:21:50 »
Cita de: Sh4k4 en Mayo 04, 2008, 04:56:38
se pegan los comandos iniciales y se corren no es gran ciencia...the shadow haznos el honor..
Exactamente, no tiene ningún misterio. Me gusta hacerlo así porque me organizo mejor (le da un aire al c++).
No entiendo muy bien eso de que el code no es práctico. Si te viene mejor no hagas esa estructura tipo main o utiliza variables de expansión si lo ves más claro. Lo que no consigo es acceder directamente a esa linea x del documento directamente (sin pasar por las lineas anteriores y optimizando iteraciones en el bucle). Seguro que se puede hacer más simple xdxXd a ver si alguien nos da una idea...
Un saludo.
En línea
:: SmartGenius :: ツ
Moderación
Gran Colaborador
Desconectado
Mensajes: 1852
Jhoannita I <3 U ... ;)
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #7 en:
Mayo 04, 2008, 06:43:31 »
bueno creo que he entendido el funcionamiento del :eof (bueno, eso creo)
es para retornar a la linea siguiente de un call
yo llamo una funcion con el call, luego cuando esta termine vuelve y ejecuta la linea que le sigue al call...
si no es asi entonces
la voy a poner en un code que toy haciendo ahora...
Saludos.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Reglas del Area de Phreaking - Leetelas
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
[TUTORIAL] Como Hackear Telefonos por Bluetooth !!
ECDundy
Habitual
Desconectado
Mensajes: 189
throw new exception(":)");
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #8 en:
Mayo 04, 2008, 10:26:35 »
plof no es practico por lo mismo que expresabas. Smart EOF aun no esta explicado. Aunque lo que dices tiene sentido. Seria interesante que alguien mas explicara.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.programmersheaven.com/user/ECDundy/blog/
:: SmartGenius :: ツ
Moderación
Gran Colaborador
Desconectado
Mensajes: 1852
Jhoannita I <3 U ... ;)
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #9 en:
Mayo 05, 2008, 01:17:10 »
Cita de: ECDundy en Mayo 04, 2008, 10:26:35
plof no es practico por lo mismo que expresabas. Smart EOF aun no esta explicado. Aunque lo que dices tiene sentido. Seria interesante que alguien mas explicara.
Eso.... que alguien mas explique, porque asi como lo expuse fue que lo entendi, y me sirvio en el code que hice para el escalador de privilegios (o backdoor)...
esperar que los maestro lleguen a explicar...
Saludos.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Reglas del Area de Phreaking - Leetelas
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
[TUTORIAL] Como Hackear Telefonos por Bluetooth !!
plof
Miembro
Desconectado
Mensajes: 88
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #10 en:
Mayo 05, 2008, 01:43:17 »
Cita de: :: SmartGenius :: en Mayo 04, 2008, 06:43:31
bueno creo que he entendido el funcionamiento del :eof (bueno, eso creo)
es para retornar a la linea siguiente de un call
yo llamo una funcion con el call, luego cuando esta termine vuelve y ejecuta la linea que le sigue al call...
si no es asi entonces
la voy a poner en un code que toy haciendo ahora...
Saludos.
Esa es la idea Smart.
La función EOF te devuelve a shell para un batch, pero si nos encontramos en una función, nos retorna al pto en que fue llamada como tu mismo has dicho.
De esta manera, la linea ' @echo off&call:main&goto:EOF' llama a la función main y después nos devuelve a la shell.
La función main sería pues la función principal del documento. Desde esta función se llamaría una a una todas las demas funciones que sean necesarias y el EOF del main representaría el final de esta función ppal.
En las demas funciones, habrás visto que no dependen de variables definidas en otras funciones (ni siquiera en las que se declararon en main).
Por ejemplo:
La linea set /A n=%2
podría escribirse como set /A n=%linea%
y nos ahorramos el paso de cualquier argumento en la llamada.
En mi opinión, ésto nos ahorra pantallazos
con las variables. En batch no existe ámbito de variable, es decir, una variable se declara para todo el documento (variables globales) y cuando nuestro code es muy extenso, nos puede acarrear más de un problema.
Mi idea es hacer funciones que solucionen un problema determinado siendo independientes del resto del documento (variables declaradas fuera de la función). Así conseguimos un código reutilizable, podemos llevarnos estas funciones a otro code sin ningún problema.
Cita de: ECDundy en Mayo 04, 2008, 10:26:35
plof no es practico por lo mismo que expresabas. Smart EOF aun no esta explicado. Aunque lo que dices tiene sentido. Seria interesante que alguien mas explicara.
En línea
wizard_0
Miembro
Desconectado
Mensajes: 119
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #11 en:
Mayo 05, 2008, 06:52:10 »
Hola como va...
mmm... espero q este code.. sea el mas... facil.. de entender...
@echo off
set /p f=
set /p l=
set lin=%l%
set /a l-=1
if %l% LSS 1 (for /f "tokens=*" %%a in (%f%) do set text=%%a&&goto result) else (for /f "skip=%l% tokens=*" %%a in (%f%) do set text=%%a&&goto result)
:result
echo El archivo en la linea %lin% del archivo %f%
echo Es %text%
pause
salu2..
En línea
↑__P®egun†a__b!na®¡a__↑
3reS_un__[1]__ø__[0]__?¿?¿
ø__vives__ø__mueres
Si__estas__v1vø_!!!__ganate__el__ saludo_!!!
"
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
"
plof
Miembro
Desconectado
Mensajes: 88
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #12 en:
Mayo 05, 2008, 08:38:07 »
for /?
skip=n - especifica el n£mero de
l¡neas que hay que saltarse al principio
del archivo.
....
Tanto mirar codes y lo tenía en mis narices xdDx...Muchas gracias wizard.
En línea
:: SmartGenius :: ツ
Moderación
Gran Colaborador
Desconectado
Mensajes: 1852
Jhoannita I <3 U ... ;)
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #13 en:
Mayo 05, 2008, 09:10:52 »
Bien, ya se supo que era con el skip..
pero donde hace la comprobacion de la linea, launica que veo es ...
set /a l-=1
if %l% LSS 1 (...) else (...)...
y como funciona el -= que todavia no lo he llegado a entender, al igual que otros parecidos que he visto +=... y eso que toy aprendiendo java y tambioen he visto parecidos...
Saludos.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Reglas del Area de Phreaking - Leetelas
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
[TUTORIAL] Como Hackear Telefonos por Bluetooth !!
plof
Miembro
Desconectado
Mensajes: 88
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #14 en:
Mayo 05, 2008, 10:33:19 »
Sólo hace una comparación, si la linea la primera.
l es la linea que queremos obtener.
lin es una copia de esa linea.
set /a l-=1 lo que hace es decrementar en 1 esa linea ( l = l - 1 )
Si l es menor que 1 es porque la linea que queriamos era la primera y por tanto no hace falta skip.
En caso contrario nos saltamos el numero de lineas e imprimimos directamente esa linea.
Buen code
En línea
wizard_0
Miembro
Desconectado
Mensajes: 119
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #15 en:
Mayo 06, 2008, 10:27:33 »
;DMuy wena explicacion ni yo podria verlo echo mejor...
salu2-->
En línea
↑__P®egun†a__b!na®¡a__↑
3reS_un__[1]__ø__[0]__?¿?¿
ø__vives__ø__mueres
Si__estas__v1vø_!!!__ganate__el__ saludo_!!!
"
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
"
Mhr!.-
Miembro
Desconectado
Mensajes: 24
Re: COMO ESCOGER UNA LINEA DE OTRO TEXTO?
«
Respuesta #16 en:
Mayo 10, 2008, 12:41:12 »
Bueno con un simple:
@echo off
echo hola
echo como estas
for /f "tokens=4 delims= " %%1 in (hola.txt) do set a=%%1
echo %a%
echo eso es todo
Saludosss,,
En línea
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
The Shadow
) | Tema:
COMO ESCOGER UNA LINEA DE OTRO TEXTO?
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.5
|
SMF © 2006-2007, Simple Machines LLC
Loading...