[Batch] Insertar un batch dentro de un batch que fabrique un .txt

Iniciado por $pedrojo2704, 22 Agosto 2012, 13:19 PM

0 Miembros y 1 Visitante están viendo este tema.

$pedrojo2704

Hola a todos!

El título puede que sea demasiado lioso, pero era para hacer un pequeño resumen de la duda que me ha surgido.

Resulta que quiero hacer una especie de "instalador" en batch que copie varias líneas y la funcion de esas líneas es crear otro archivo batch que al abrirlo guarde en un .txt algunos datos, pongo un ejemplo:

Si yo quiero que "una frase" entre en un .txt basta con poner

echo una frase > texto.txt
echo dos frases >> texto.txt


Sí por ejemplo yo quiero que eso aparezca en un batch mostrandome ese mensaje, necesito poner:

echo echo una frase > file.bat
echo echo dos frases >> file.bat


Me comprendéis?

Pues bien, yo quiero hacer un batch que en lugar de mostrar una frase, escriba en otro archivo de texto .txt unos comandos, es decir, crear un batch que cree un batch que escriba un texto.

El código que he escrito, pero el cual no me funciona, es el siguiente (con esto seguro que ya comprendéis lo que quiero hacer)


echo echo ----------------------------------------------------------------------------------------- > logs.txt > file.bat
echo ver >> logs.txt >> file.bat
echo echo Día: %%date%% - Hora: %%time%% - Usuario: %%username%% - Equipo: %%computername%% >> logs.txt >> file.bat
echo echo --------------------------------------------------------------------------------------- >> logs.txt >> file.bat
echo exit >> file.bat



Con esto, al abrirlo, debe de crearme un batch que contenta lo siguiente:


echo ----------------------------------------------------------------------------------------- > logs.txt
ver >> logs.txt
echo Día: %date% - Hora: %time% - Usuario: %username% - Equipo: %computername% >> logs.txt
echo --------------------------------------------------------------------------------------- >> logs.txt
exit


Espero, que tras todo esto me hayais comprendido, pues bien, al hacerlo tal y como lo he puesto, cuando me crea el último batch (el que debería aparecer ">> logs.txt" no aparece, es decir, desaparecen las dos dejándome solamente el texto que se muestra en la pantalla pero no se guarda en el .txt.

Si alguien me ha entendido (pido disculpas por no saber explicarme), espero que pueda ayudarme a solucionar mi problema.

Saludos!

Eleкtro

Hola, El problema está aquí, Ya que no puedes rebidireccionar así:  (>> archivo1 >> archivo2)

Solo tienes que escapar los primeros operadores (>>) para poder imprimirlos:

Código (dos) [Seleccionar]
echo echo ----------------------------------------------------------------------------------------- ^> logs.txt > file.bat
echo ver ^>^> logs.txt >> file.bat
echo echo Día: %%date%% - Hora: %%time%% - Usuario: %%username%% - Equipo: %%computername%% ^>^> logs.txt >> file.bat
echo echo --------------------------------------------------------------------------------------- ^>^> logs.txt >> file.bat
echo exit >> file.bat


Saludos








$pedrojo2704

Vaya, no tenía ni idea de eso, de los errores se aprende :) muchas gracias por la respuesta, justo lo que necesitaba ;)