Autor
|
Tema: Acciones sobre archivos de texto. [Batch] (Leído 445,160 veces)
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
Pues no, ya lo intenté como sugeriste y no sirvió.
Bueno, déjalo, asumiremos que es imposible.
Saludos y gracias.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
El redireccionamiento funciona para TODOS los programas que séan CommandLine. El problema que dices tener sólo puede ser una de estas dos razones: - 1. Que el programa no séa CommandLineInterface
- 2. Que no estés redireccionando la salida correcta. (Hay una salida standard y otra de errores)
En algunos programas la salida standard es la "2" por extraño que parezca (Por ejemplo en el FFMPEG), y en esos casos deberás hacer esto (Pruébalo): MiPrograma.exe 2> "Archivo.txt"
De todas formas también puedes hacerlo con un FOR, AUNQUE ESTA MANERA ES MUY INCORRECTA (Porque con el redireccionamiento es suficiente, pero si dices que no te funciona...): (For /F "Tokens=*" %%# in ('MiPrograma.exe' ) Do (Echo %%# ))>"Archivo.txt"
Saludos.
|
|
« Última modificación: 2 Marzo 2013, 16:53 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Xwatmin
Desconectado
Mensajes: 47
|
Buenos dias, os sigo desde hace tiempo y me ha surgido un problema que no encuentro solución.
Quiero crear un archivo bat que inicie una rom de un emulador, en este caso emulator model 2 de sega.
He hecho lo mismo con 6 emuladores distintos y nunca he tenido problema, pero justo este emulador parece que no reconociera la ruta de la rom, tan sólo he conseguido abrir el emulador con el siguiente comando:
@echo off
start emulator.exe roms/daytona.zip
Se que se puede lograr ya que he visto un portable de un emulador con una rom similar, pero por más que he probado y buscado, no doy con la solución.
Ojala me podáis ayudar, saludos y muchas gracias.
|
|
|
En línea
|
El físico no es importante, es más importante un ingeniero.
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
@XWatmin Acciones sobre archivos de texto. [Batch]¿Que tiene que ver tu pregunta con la temática de este hilo? La máquina Arcade es la que se llama " Sega model 2", el emulador todavía no sabemos cual es su nombre, hay muchos emuladores que corren roms de la SM2. Infórmate sobre el nombre real del emulador que estás usando, después ve a la página oficial del emulador y descárgatelo, debe incluir un archivo de documentación y allí te debe indicar las opciones CommandLine del emulador para ejecutar una ROM, si la documentación no está en el emulador entonces debe estar en la página web oficial, así encontrarás lo que necesitas. De todas formas has puesto mal el slash (la barra vertical), prueba así: Emulator.exe ".\roms\daytona.zip" Si te quedan dudas no sigas este tema aquí o me veré obligado a eliminarlo, haz el favor de crear un nuevo post para formular preguntas que no estén relacionadas con archivos de texto. Saludos.
|
|
« Última modificación: 19 Marzo 2013, 14:47 pm por EleKtro H@cker »
|
En línea
|
|
|
|
tienty
Desconectado
Mensajes: 4
|
Hola! Tengo un .txt con el siguiente formato: [FORMAT] xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx [/FORMAT]
¿Cómo puedo añadir el contenido de una variable al .txt justo encima del [/FORMAT] (añadir una penúltima linea)? Gracias
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Si el texto completo no contiene más tags podrías usar esto: http://foro.elhacker.net/empty-t372497.0.html para eliminar la última línea, y luego añadir el tag. Ejemplo: @Echo OFF
Call :TEXTMAN L- 1 "archivo.txt" Echo %Variable% >> "Archivo.txt" Echo [/FORMAT] >> "Archivo.txt"
Pause&Exit
:TEXTMAN (SET /A "A=0", "LINE=0", "TOTAL_LINES=0") & (CALL :%~1 %* || (ECHO Parametro incorrecto & Exit /B 1)) & (GOTO:EOF) :L- (FOR /F %%X IN ('TYPE "%~3"') DO (CALL SET /A "TOTAL_LINES+=1")) & (CALL SET /A "TOTAL_LINES-=%~2-1") & (For /F "usebackq tokens=*" %%@ in ("%~3") DO (Call Set /A "LINE+=1" & Call echo "%%LINE%%"|@FIND "%%TOTAL_LINES%%" >NUL) && (CALL :RENAMER "%~3" && GOTO:EOF) || (Echo %%@ >> "%~3.NEW")) :RENAMER (REN "%~1" "%~nx1.BAK") & (MOVE /Y "%~1.BAK" "%TEMP%\" >NUL) & (REN "%~1.NEW" "%~nx1") & (GOTO:EOF) De lo contrario, puedes usar un FOR /F para encontrar la cadena "[/FORMAT]" y reemplazarla por la variable y la cadena de nuevo. PD: Con ese script también puedes reemplazar palabras. Saludos
|
|
« Última modificación: 3 Abril 2013, 15:23 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Orni1
Desconectado
Mensajes: 30
|
Hola no tengo mucha idea de esto por eso pido vuestra ayuda veréis: Quisiera crear un bat que al ejecutarlo pida insertar un texto en la ventana y luego ese mismo texto se copie seguido sin espacio en todas las lineas del archivo de texto.
Ejemplo: Tenemos el archivo file.txt con el contenido:
manolo pepe juan antonio
Ahora al ejecutar el archivo .bat se abre la ventana pidiendo ingresar el texto y ponemos el texto: tiene fruta
De ese modo el archivo file.txt quedaría:
manolotiene fruta pepetiene fruta juantiene fruta antoniotiene fruta
Gracias por vuestro saber
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
...Es decir: Como añadir un string al final de cada línea de un archivo de texto. Pues así: Set /P "InputText=Arrastra el archivo de texto... >> " Set "String= tiene fruta" Call : Writter " %InputText%" " %String%" ".\Frutero.txt" :Writter ((FOR /F "Usebackq Tokens=*" %%@ IN (" %~1" ) DO (Echo %%@%~2)) > %3) & (GOTO:EOF )
Saludos!
|
|
« Última modificación: 16 Abril 2013, 22:36 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Orni1
Desconectado
Mensajes: 30
|
Lo que quiero es que en la ventana cmd pueda escribir el texto a añadir a todas las lineas del texto. El que tu me pones la ventana cmd me pide el nombre del archivo de texto.
La idea es que partiendo del archivo frutero.txt (u otro nombre) la ventana cmd pida el texto a añadir a las lineas de ese archivo de texto.
Si no se puede con el que me das ya me apañaría editando el contenido de la linea Set "String=
Lo que varia es el texto a añadir, el nombre del archivo puede ser siempre el mismo. Muchas gracias por tu rapidez.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Lo que quiero es que en la ventana cmd pueda escribir el texto a añadir a todas las lineas del texto. El que tu me pones la ventana cmd me pide el nombre del archivo de texto.
La idea es que partiendo del archivo frutero.txt (u otro nombre) la ventana cmd pida el texto a añadir a las lineas de ese archivo de texto. Fíjate en el código, puedes pedir el texto a introducir exáctamente de la misma manera que se puede pedir el archivo de texto en el script que te he puesto de ejemplo. Te quise poner un ejemplo de las dos maneras. El modificador /P permite establecer el valor de una variable para una línea de entrada escrita por el usuario. Muestra la cadena del símbolo del sistema antes de leer la línea de entrada. La cadena del símbolo del sistema puede estar vacía. Saludos!
|
|
« Última modificación: 17 Abril 2013, 00:21 am por EleKtro H@cker »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Modificar archivos de texto [batch] [Perl]
« 1 2 »
Scripting
|
bjeli1980
|
10
|
13,751
|
17 Mayo 2010, 09:07 am
por bjeli1980
|
|
|
[BATCH] Ayuda guardando archivos de texto a php
Scripting
|
Geormarsch
|
2
|
4,360
|
20 Septiembre 2011, 16:33 pm
por Poderoscuro1207
|
|
|
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto
Scripting
|
Eleкtro
|
2
|
8,099
|
15 Marzo 2014, 15:17 pm
por FranciskoAsdf
|
|
|
Como puedo arrastrar y concatenar archivos de texto en un BATCH
Scripting
|
PUCH84
|
6
|
10,022
|
28 Abril 2014, 09:49 am
por PUCH84
|
|
|
Ayuda con batch para crear archivos de texto plano
Scripting
|
seu230
|
6
|
3,125
|
5 Octubre 2018, 10:28 am
por seu230
|
|