Ayuda batch copiar portapaeles a txt

Iniciado por 47anonimo74, 12 Febrero 2012, 16:01 PM

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

47anonimo74

hola estoy hacinedo un programa en batch pero consigo que funciona.
estoy hacinedo un programa para que me copie del portapaeles a un .txt
pero solo me copia la primera linia es decir si entre un alinia hay un espacio se corta y copia la mitad.
Entonces necesito un comando que copie del portapapeles a un txt o deje copiar con espacio. Bueno os dejo mi bat es para un juego que seguro que conocen.

@echo off
Title OGAME INFORMES
echo Programa para guardar registros ogame.
echo Para guardar un atake "AT" para espinaje "ESP"
set/P atoesp=
if %atoesp%==AT goto :AT
if %atoesp%==at goto :at
if %atoesp%==esp goto :ESP
if %atoesp%==ESP goto :esp
pause
echo si les esto has echo algo mal
exit

:AT
echo vale has egelido Ataque pega el informe
set /P infat=Pegalo Aqui

echo ------------------------------------------------------------------------------------------>>INFORMES-Ataque.txt
echo     INFORMES DE Ataque INFORMES DE Ataque INFORMES DE Ataque>>INFORMES-Ataque.txt
echo Fecha de Pegado %date%>>INFORMES-Ataque.txt
echo %infat%>>INFORMES-Ataque.txt
pause
msg * Guardado con exito XD
start INFORMES-Ataque.txt
exit



:esp
echo vale has egelido espinaje pega el informe
set /P infesp=Pegalo Aqui

echo ------------------------------------------------------------------------------------------>>INFORMES-ESPIONAJE.txt
echo     INFORMES DE ESPIONAJE INFORMES DE ESPIONAJE INFORMES DE ESPIONAJE>>INFORMES-ESPIONAJE.txt
echo Fecha de Pegado %date%>>INFORMES-EsPIONAJE.txt
echo %infESP%>>INFORMES-EsPIONAJE.txt
pause
msg * Guardado con exito XD
start INFORMES-ESPIONAJE.txt
exit


gracias de antemano y por su atencion :xD

Eleкtro

#1
Nunca he visto un script con tantas faltas de ortografía.

En fin, A lo que voy, Lo único que estás haciendo en tu script es intentar pegar lineas sin sentido, Porque la consola las tomará como "comandos", Así que no te sirve ese método.

Con batch solo puedes copiar al portapapeles, No puedes pegar (Redireccionar) datos desde el portapapeles, Porque no tiene acceso a la API de Windows necesaria para realizarlo.

Necesitas un VBS, O un programa de 3ros (Para batch) Como lo es "Paste.exe" www.c3scripts.com/tutorials/msdos/paste.html

PD: Olvida lo de pegar líneas en tu script, El comando que utilizarías sería este:

Código (DOS) [Seleccionar]
Paste.exe >> "Archivo.txt"

Salu2.





Aparte, Te recomiendo que dejes así tu script si piensas seguir intentandolo...

Código (DOS) [Seleccionar]
@echo off
Title OGAME INFORMES

:Menu
Cls
Echo+
echo: Programa para guardar registros de Ogame.
Echo:
echo: Para guardar un ataque: "AT"
Echo: Para espinoaje: "ESP"
Echo.

set/P atoesp=^>
If not defined atoesp (Goto :MENU)
if /I %atoesp%==AT (goto :AT)
if /I %atoesp%==ESP (goto :esp)
Goto :MENU

:AT
Cls
echo Has elegido Ataque, Pega el informe...
set /P infat=Pegalo Aqui ^>^>^>

echo ------------------------------------------------------------------------------------------>>"INFORMES-Ataque.txt"
echo     INFORMES DE Ataque INFORMES DE Ataque INFORMES DE Ataque>>"INFORMES-Ataque.txt"
echo Fecha de Pegado %date%>>"INFORMES-Ataque.txt"
echo %infat%>>"INFORMES-Ataque.txt"
pause
msg * Guardado con exito XD
Notepad "INFORMES-Ataque.txt"
exit

:esp
echo Has elegido espionaje, Pega el informe...
set /P infesp=Pegalo Aqui

echo ------------------------------------------------------------------------------------------>>"INFORMES-ESPIONAJE.txt"
echo     INFORMES DE ESPIONAJE INFORMES DE ESPIONAJE INFORMES DE ESPIONAJE>>"INFORMES-ESPIONAJE.txt"
echo Fecha de Pegado %date%>>"INFORMES-EsPIONAJE.txt"
echo %infESP%>>"INFORMES-EsPIONAJE.txt"
pause
msg * Guardado con exito XD
Noepad "INFORMES-ESPIONAJE.txt"
exit