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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Ayuda]automatizar varios procesos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda]automatizar varios procesos  (Leído 2,505 veces)
AnkokuAsurA

Desconectado Desconectado

Mensajes: 1



Ver Perfil
[Ayuda]automatizar varios procesos
« en: 14 Diciembre 2014, 05:15 am »

Hola, no se si se puede pedir este tipo de ayuda pero no se pierde nada intentando es que ya no se como hacerle... si no se puede disculpen y borren el mensaje.
Hace tiempo que "programo" algunas cosas en una programa para hacer juegos de lucha llamado "mugen" y tengo un parche que para hacer ciertas modificaciones en los personajes la cosa es que para "instalar" el parche hay que hacer varias ediciones en distintos archivos de texto manualmente y me gustaria automatizar el proceso mediante un batch, estuve tratando de aprender los codigos y es muy arduo asi de la nada mas cuando la meta en si no es aprender el lenguaje si no porque quiero crear el parche para el dichoso programa. por lo cual mi idea es preguntar puntualmente lo que necesito (mas o menos) y si me pueden ayudar dandome una idea de los codigos:

1-Es posible buscar en un archivo de texto una frase y apartir de esta frase cortar todo el resto (bajando hasta el final) del archivo de texto y este texto cortado pegarlo en otro archivo de texto debajo de otra frase que debe identificar?
Ejemplo:
tenemos unos archivos de txt pero tiene la extension cambiada estan como *.cns y *.cmd
en los .cns hay una parte de codigo que empieza con [statedef -2] y luego hay varios codigos mas y en el cmd hay una parte que dice [statedef -1] y abajo mas codigos.
lo que necesito hacer es que de manera automatizada el batch busque en los archivos cns si existe:

Código:
[statedef -2]
codigos codigos 2
codigos codigos 2
codigos codigos 2
codigos codigos 2

y lo que haga es cortar a partir del [statedef -2] hasta el final del txt
luego en el cmd buscar la frase

Código:
[statedef -1] < esta frase, lo de abajo esta de ejemplo de lo que se veria
codigos codigos 1
codigos codigos 1
codigos codigos 1
codigos codigos 1

y debajo del [stattedef -1] pege todo lo que corto del archivo anterior resultando algo como:

Código:
[statedef -1]
codigos codigos 1
codigos codigos 1
codigos codigos 1
codigos codigos 1
[statedef -2]
codigos codigos 2
codigos codigos 2
codigos codigos 2
codigos codigos 2

o sino

Código:
[statedef -1]
[statedef -2]
codigos codigos 2
codigos codigos 2
codigos codigos 2
codigos codigos 2
codigos codigos 1
codigos codigos 1
codigos codigos 1
codigos codigos 1

cualquiera de las opciones funcionaria correctamente.
Me disculpo si es un lio mi forma de explicarme y mas si no se puede hacer este tipo de consultas, gracias


« Última modificación: 14 Diciembre 2014, 06:07 am por AnkokuAsurA » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda]automatizar varios procesos
« Respuesta #1 en: 14 Diciembre 2014, 06:14 am »

te digo... batch no es un codigo bonito y a mi nunca me parecio realmente practico para programar, puedes intentar con python o y visual basic que son mucho más facil de hacer estas operaciones de edicion de archivos y por lo menos python no requiere más que notepad

normalmente no entrego codigos resueltos, pero en pro de explicar mi punto de lo simple que sería en python... seria algo como:

Código
  1. entrada = open("archivo1.algo", "r")#abre para leer
  2. salida = open("archivo2.algo", "a")#abrimos el archivo para agregar al final
  3. copiar = False#nor marca cuando debemos copiar
  4. for linea in entrada:#lee linea a linea
  5.  if linea.find("cosa a buscar")>-1: copiar = True #si cosigue eso debe empezar a copiar
  6.  if copiar == True: salida.write(linea) #copiamos lo conseguido
  7.  

y eso fue todo, serían 6 lineas bastante simples y ciertamente autoexplicativas... intentalo... (hay cositas que arreglar y si son multiples archivos, te toca buscar como hacerlo)

si no quieres instalar nada aún puedes hacerlo en vbs que tiene casi la misma sintaxis que visual basic


« Última modificación: 14 Diciembre 2014, 06:29 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: [Ayuda]automatizar varios procesos
« Respuesta #2 en: 14 Diciembre 2014, 06:23 am »

estuve tratando de aprender los codigos y es muy arduo asi de la nada mas cuando la meta en si no es aprender el lenguaje si no porque quiero crear el parche para el dichoso programa. por lo cual mi idea es preguntar puntualmente lo que necesito

Me disculpo si es un lio mi forma de explicarme y mas si no se puede hacer este tipo de consultas, gracias

Has elaborado un problema con muchos detalles, ahora, ¿has elaborado algún código?.

En el foro no se discrimina a aquellos que solo quieren solventar un problema esporádico sin tener apenas conocimientos de programación, pero por lo general este tipo de personas suelen mostrar sus progresos y haberlo intentado por si mismo para así ayudarte donde estés atascado, ya que si te hicieramos la tarea, y gratis, esta página se llamaría FreeJobs.com.

Dicho esto, Batch es la peor elección para la manipulación de texto, lo que pides se puede hacer con dicho ""lenguaje"", no es dificil ...solo tienes que usar un FOR, pero resultaría muy engorroso, ya que se invierte demasiado tiempo/escritura en desarrollar un código bajo Batch para realizar lo que debería ser una simple tarea, en comparación con cualquier otro lenguaje.

Te diría que aprendieses otro (cualquier) lenguaje con soporte para expresiones regulares (RegEx), también puedes utilizar un FOR como en el ejemplo del compañero @engel lex, pero por tus palabras no estoy muy seguro de si querrías aprender lo básico de otro lenguaje que esté capacitado para la tarea... así que de todas formas aquí puedes ver un multi-ejemplo de como manipular texto en Batch (de una manera algo diferente a lo que he recomendado):
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto

Te sugiero que lo intentes en el lenguaje que sea, y vuelvas mostrando tú propio intento de código.

Saludos!
« Última modificación: 14 Diciembre 2014, 06:41 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
Ayuda para automatizar.
Scripting
4eyes 9 5,076 Último mensaje 2 Octubre 2008, 03:16 am
por carlitos.dll
cerrar varios procesos
Programación Visual Basic
federicokpo 5 2,022 Último mensaje 1 Diciembre 2008, 12:52 pm
por gulabyte
[ayuda] automatizar tareas (BATCH) « 1 2 3 »
Scripting
guidosl 25 16,234 Último mensaje 20 Agosto 2009, 14:33 pm
por alwaysrockero
Automatizar ejecución de varios comandos
GNU/Linux
Gambinoh 4 4,814 Último mensaje 8 Abril 2011, 16:32 pm
por D4RIO
Automatizar inicio de sesión en telnet y lanzar varios comandos
Scripting
Babilonio 0 2,758 Último mensaje 26 Febrero 2014, 15:48 pm
por Babilonio
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines