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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  modificar texto en batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: modificar texto en batch  (Leído 2,327 veces)
brianchatran

Desconectado Desconectado

Mensajes: 3


Ver Perfil
modificar texto en batch
« en: 6 Octubre 2018, 21:47 pm »

Hola tengo una duda de como modificar una linea especifica de un txt en batch manteniendo el resto de la información intacta, no encuentro forma de poder hacerlo y que la linea de código para eso no me ocupe mucho.

ejemplo :yo quiero que la persona solo modifique el teléfono y que la otra información quede intacta .

Código:
nombre:juan
apellido:perez
CI:53529378
direccion:ejemplo
turno:noche
telefono:095423423
materias que cursa:programacion

Desde ya muchas gracias


« Última modificación: 6 Octubre 2018, 23:19 pm por brianchatran » En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: modificar texto
« Respuesta #1 en: 6 Octubre 2018, 22:16 pm »

1) NO ESPECIFICAS QUE LENGUAJE. Y POR COMO TE EXPRESAS SUPONGO QUE NO POSES CONOCIMIENTO DE NINGUNO . AQUÍ NO AYUDAMOS ASÍ.

Intenta  crear tu propio script y en caso de que tengas algún error, con mucho gusto te ayudo.



A como te expresas, la respuesta que te daría es que :

1) agarres el txt , click derecho >> Editar .

2) Modificas el texto.

3) Y lo guardas.

Esa seria la Solución que le daría a alguien como tu.


« Última modificación: 6 Octubre 2018, 22:20 pm por **Aincrad** » En línea



brianchatran

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: modificar texto
« Respuesta #2 en: 6 Octubre 2018, 22:35 pm »

1) NO ESPECIFICAS QUE LENGUAJE. Y POR COMO TE EXPRESAS SUPONGO QUE NO POSES CONOCIMIENTO DE NINGUNO . AQUÍ NO AYUDAMOS ASÍ.

Intenta  crear tu propio script y en caso de que tengas algún error, con mucho gusto te ayudo.



A como te expresas, la respuesta que te daría es que :

1) agarres el txt , click derecho >> Editar .

2) Modificas el texto.

3) Y lo guardas.

Esa seria la Solución que le daría a alguien como tu.

perdón por no especificarme ,busco una forma de hacerlo dentro de un batch ya que tengo todo hecho dentro el  programa pero la parte de editar texto no logro saber la forma de hacerlo . perdón nuevamente
« Última modificación: 6 Octubre 2018, 22:41 pm por brianchatran » En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: modificar texto en batch
« Respuesta #3 en: 7 Octubre 2018, 04:43 am »

Código
  1. @echo off
  2. goto main
  3.  
  4. :error
  5. echo archivo no existe.
  6. pause
  7. goto main
  8.  
  9.  
  10. :Main
  11. cls
  12. set /p file=Indique el nombre del archivo:
  13. if not exist %file% goto error
  14. set string=telefono
  15. echo.
  16. setlocal enabledelayedexpansion
  17. set /a nchar=0
  18. call:Contar
  19. set /a nlin=0
  20. For /f "useback tokens=*" %%F in ("%file%") do (
  21.     set /a nlin+=1
  22.     set "line=%%F"
  23.     set /a xcont=0
  24.     call:Comparar
  25. )
  26. echo. & echo Terminado. & pause>nul & goto Main
  27.  
  28. :Contar
  29. If /i "!string:~%nchar%,1!" == "" goto:eof
  30. set /a nchar+=1
  31. goto Contar
  32.  
  33. :Comparar
  34. If /i "!line:~%xcont%,%nchar%!" == "%string%" (
  35.     set mtch=T
  36.     call:Msj
  37. )
  38. If /i "!line:~%xcont%,%nchar%!" == "" (
  39.     set mtch=F
  40.     call:Msj
  41.     goto:eof
  42. )
  43. set /a xcont+=1
  44. goto Comparar
  45.  
  46. :Msj
  47. If "%mtch%" == "T" (
  48.     cls
  49.     color a
  50.     echo Telefono encontrado:  [%line%] & echo.
  51.     call :Continue
  52. )
  53. If "%mtch%" == "F" echo LINEA %nlin%: %line%
  54. goto:eof
  55. exit
  56.  
  57. :Continue
  58. set /p numero=introduzca El nuevo Numero :
  59.     Call :TEXTMAN RL %nlin% "%file%" "Telefono : %numero%"
  60.     pause
  61.     exit
  62.  
  63. :TEXTMAN
  64. (SET /A "A=0", "LINE=0", "TOTAL_LINES=0")  &  (CALL :%~1 %* || (ECHO Invalid parameter & Exit /B 1)) & (GOTO:EOF)
  65. :RL
  66. (For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW")) ELSE ((Echo %~4)>> "%~3.NEW")"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
  67. :RENAMER
  68. (REN "%~1" "%~nx1.BAK") & (MOVE /Y "%~1.BAK" "%TEMP%\" >NUL) & (REN "%~1.NEW" "%~nx1") & (GOTO:EOF)


Bueno lo q hace el Code es Buscar la primera linea que tenga la palabra Teléfono y la cambia por el nuevo q tu introduzcas



Código sacado del aporte del compañero  @Elektro : [BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto
« Última modificación: 7 Octubre 2018, 05:23 am por **Aincrad** » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como hacer un batch para modificar una linea de texto de un archivo?
Scripting
SuperDraco 7 24,316 Último mensaje 24 Agosto 2009, 18:34 pm
por ovpaez
Modificar archivos de texto [batch] [Perl] « 1 2 »
Scripting
bjeli1980 10 13,674 Último mensaje 17 Mayo 2010, 09:07 am
por bjeli1980
Modificar texto con ollydbg
Ingeniería Inversa
CAR3S? 5 9,239 Último mensaje 11 Febrero 2011, 05:45 am
por apuromafo CLS
Batch que lea un texto y que cree otro con nombre parte del texto
Scripting
kakodt 1 3,971 Último mensaje 27 Enero 2012, 21:10 pm
por Eleкtro
Modificar un archivo de texto
Programación C/C++
erest0r 4 2,409 Último mensaje 28 Febrero 2014, 17:29 pm
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines