hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
18 de Noviembre de 2008, 11:36:54
Noticias: La 1era E-Zine de CPH ya fue liberada, encuentrala
Para ver este enlace Registrate o Inicia Sesion
> aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Batch (Moderadores: HolyKnight, PyXOLo)
| | | |-+  Agregar una palabra al final de la ultima linea en un txt
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Agregar una palabra al final de la ultima linea en un txt  (Leído 343 veces)
DarthBader
Recien llegado
*
Desconectado Desconectado

Mensajes: 17


Ver Perfil
« : 06 de Julio de 2008, 11:03:22 »

Hola como les va? soy nuevo por aca y ya lei varios tutoriales de batch pero me temo que tengo una pregunta que no encuentro por ningun lado, espero no quemarles la cabeza con esto, cosa que ya me paso a mi Undecided les explico masomenos lo que quiero hacer:

supongamos que tengo un texto cualquiera y tiene esto:
--------------texto.txt----------------
hola
mi nombre es pedro
pero me dicen DarthBader
como veran soy nuevo
-------------texto.txt-----------------
(Y esta guardado en C:\)

Lo que yo quiero hacer es agregarle una palabra en la ultima linea del texto (osea, en la linea "como veran soy nuevo" quiero agregarle una palabra para que quede asi:
--------------texto.txt----------------
hola
mi nombre es pedro
pero me dicen DarthBader
como veran soy nuevo AQUI
-------------texto.txt-----------------

Ya intente con este code pero no funciona:
for /f "tokens=*" %%a in (%homedrive%\texto.txt) do echo %%a>>%homedrive%\texto.txt AQUI

Por que lamentablement e me queda asi:
--------------texto.txt----------------
hola AQUI
mi nombre es pedro AQUI
pero me dicen DarthBader AQUI
como veran soy nuevo AQUI
-------------texto.txt-----------------
como veran me pone la palabra AQUI al final de todas las lineas pero yo solo quiero que quede en la ultima ("com veran soy nuevo")

Tambien intente asi:
echo AQUI>>%homedrive%\texto.txt

Pero tampoco funciona, ya que me lo deja asi:
--------------texto.txt----------------
hola
mi nombre es pedro
pero me dicen DarthBader
como veran soy nuevo
AQUI
-------------texto.txt-----------------
como pueden ver me añade la palabra AQUI al final de todo pero eso no quiero, la pregunta del millon es: como hago a partir de un code en bath para que en un texto cualquiera del cual desconocemos su contenido me agregue una palabra al final de la ultima linea?
o sea que quede asi:
--------------texto.txt----------------
hola
mi nombre es pedro
pero me dicen DarthBader
como veran soy nuevo AQUI
-------------texto.txt-----------------

Gracias por su tiempo, espero alguna respuesta.
En línea
Belphegor
Batch lab nivel 2
*****
Conectado Conectado

Mensajes: 161



Ver Perfil
« Respuesta #1 : 06 de Julio de 2008, 11:39:12 »

pues asi
Código:
echo  Aqui>>texto.txt
weno ami me funciona n.n
En línea

義,勇,仁,礼,誠,誉,忠義
PyXOLo
Moderador
*****
Desconectado Desconectado

Mensajes: 357


Ramuto Team # Participa ;)


Ver Perfil
« Respuesta #2 : 06 de Julio de 2008, 12:15:02 »

eso no funcionaría... aquí se situaría en la siguiente línea... no a continuación de la cuarta....

La solución a tu duda está en este for Smiley

Código:
For /F "tokens=4 skip=3" %%x IN (archivo.txt) do echo AQUI>>archivo.txt

...alguna duda postea Wink

______________ ______________ ______________ ______________ ________

EDITO:

Te podría ayudar esta función que sirve para averiguar las líneas de un archivo.

Código:
::Contador de líneas de un archivo by PyXOLo
:contador
set cuenta=0
for /f %%x in (archivo.txt) do set /a cuenta=1+cuenta
set funcion=%cuenta%
echo %funcion%
pause>nul

Ahora juntando estas dos cosas podríamos crear el siguiente script

Código:
set /p texto=Texto que deseas agregar al archivo:
:contador
set cuenta=0
for /f %%x in (archivo.txt) do set /a cuenta=1+cuenta
set funcion=%cuenta%
set /a lineas=%funcion%-1
For /F "tokens=%funcion% skip=%lineas%" %%x IN (archivo.txt) do echo %texto%>>archivo.txt

Espero haberte ayudado Wink

Si existe algun fallo avisa men Wink  aqui para todo!
« Última modificación: 06 de Julio de 2008, 12:40:58 por PyXOLo » En línea

DarthBader
Recien llegado
*
Desconectado Desconectado

Mensajes: 17


Ver Perfil
« Respuesta #3 : 06 de Julio de 2008, 04:20:14 »

Muchisimas gracias Belphegor y PyXOLo Grin

Consulta terminada satifactoriame nte, saludos Cheesy
En línea
PyXOLo
Moderador
*****
Desconectado Desconectado

Mensajes: 357


Ramuto Team # Participa ;)


Ver Perfil
« Respuesta #4 : 06 de Julio de 2008, 05:06:40 »

Muchisimas gracias Belphegor y PyXOLo Grin

Consulta terminada satifactoriame nte, saludos Cheesy


Belphegor estaba equivocado como tu bien habías presentado en tu duda lo que hacía

Código:
echo texto>>archivo.txt

pero bueno....
En línea

wizard_0
NZ2
**
Desconectado Desconectado

Mensajes: 159


THe magic


Ver Perfil
« Respuesta #5 : 06 de Julio de 2008, 07:54:00 »

Weno  haber  q t  parece  este... 

Código:
@echo off
pushd C:\
set /P insert=palabra :
for /f "tokens=*" %%a in (%homedrive%\texto.txt) do set /a c+=1
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (%homedrive%\texto.txt) do (
    set /a c1+=1         
                        if !c1! LSS !c! (echo %%a>>textnew.txt) else (echo %%a %insert%>>textnew.txt)
)


salu2-->
En línea

↑__P®egun†a__b!na®¡a__↑

3reS_un__[1]__ø__[0]__?¿?¿
        ø__vives__ø__mueres

Si__estas__v1vø_!!!__ganate__el__ saludo_!!!
DarthBader
Recien llegado
*
Desconectado Desconectado

Mensajes: 17


Ver Perfil
« Respuesta #6 : 07 de Julio de 2008, 02:22:33 »

 Shocked increible Grin Gracias por toda la ayuda
En línea
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online