Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kmy_012 en 21 Septiembre 2010, 14:13 pm



Título: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:13 pm
Buenas,

estoy queriendo volcar ciertos datos de los comandos en batch a un fichero .txt, pero quiero que cada volcado se haga en una línea diferente o dejando un espacio o linea entre cada comando, pero el tema es que no logro hacerlo, lo tengo de la siguiente forma:

comando1 >> 1.txt
comando2 >> 1.txt
comando3 >> 1.txt

pero al comprobar el txt, me parece:

comando1
comando2 comando3

como puedo hacer el retorno de carro entre cada comando o dejar líneas en blanco?

Gracias y saludos


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 14:20 pm
Con un simple

echo

consigues dejar una linea en blanco,si quieres dos lineas en blanco:

echo
echo

 ;)


Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:29 pm
no me funciona  >:(

el código para que me guarde el usuario logueado y el numero de serie del PC, como me lo has comentado, sería:

whoami >> c:\1\1.txt
wmic bios get serialnumber >> c:\1\1.txt
echo
echo ----------------------------------------- >> c:\1\1.txt

y sigue dando el mismo problema comentado, que es:

[dominio]\[usuario]
S e r i a l N u m b e r    
 
 # # # # # # # # # #     -----------------------------------------

la línea es para separar, pero no me va

puede ser que sea por el comando wmic bios get serialnumber, pero no lo se y si lo ejecuto 2 veces, no guarda espacio, así agrege el echo dos veces


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 14:33 pm
echo "" >> c:\1\1.txt

Y asi???



Se supone que tienes que incluir un echo ya que el echo ocupa toda una linea


Perdon no lei bien lo ultimo,creo que no puedes hacer esto

echo ----------------------
prueba de esta 2º  forma
echo "--------------------"


Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:38 pm
lo he puesto asi:

whoami >> c:\1\1.txt
wmic bios get serialnumber >> c:\1\1.txt
echo "" >> c:\1\1.txt
echo ----------------------------------------- >> c:\1\1.txt
echo "" >> c:\1\1.txt

resultado:

[dominio]\[usuario]
S e r i a l N u m b e r     
 
 # # # # #          ""
-----------------------------------------
""

como ves si que ha saltado de linea, pero a escrito las comillas


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 14:39 pm
Perdon tron me retracto prueba

echo.

importante el punto




Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:41 pm
si lo pongo como dices, me pone "------", con comillas y todo, empiezo el bat con el @echo off o sin ello y el resultado es igual


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 14:42 pm
prueba lo que te he escrito arriba modificado que es asi


Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:44 pm
si, ahora siiiiii  ;-)

muchas gracias, estaba parado por este tema, muchas gracias y saludos,


Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 14:48 pm
una ultima consulta...
y si en lugar de saltos de linea, quiero separarlos por una coma (,) como podría ser?

ej:
usuario, serial # # # #

y lo mismo en la linea siguiente si lo ejecuto nuevamente

usuario, serial # # # #
usuario, serial # # # #
usuario, serial # # # #  etc...

gracias de antemano y me decis si creo un tema nuevo o seguimos aqui


Título: Re: volcado de comando en fichero .txt
Publicado por: flony en 21 Septiembre 2010, 16:51 pm
Código:
whoami >> c:\1\1.txt
wmic bios get serialnumber >> c:\1\1.txt
echo "" >> c:\1\1.txt
echo ----------------------------------------- >> c:\1\1.txt
echo "" >> c:\1\1.txt
es lo mismo que poner
Código:
(whoami 
wmic bios get serialnumber
echo.
echo -----------------------------------------
echo.) >> c:\1\1.txt
lo de la coma se me hace puede ser...
Código:
for /f "tokens=*" %%a in ('"wmic bios get serialnumber"') do (set pa=%%a)
echo %pa% , %pa% >> 1.txt
o sea en definitiva seria asi
Código:
(echo whoami 
echo.)>>1.txt
for /f "tokens=*" %%a in ('"wmic bios get serialnumber"') do (set pa=%%a)
echo %pa% , %pa% >> 1.txt
(echo.
echo -----------------------------------------
echo.)>>1.txt
con salida
Citar
whoami

System Serial Number   , System Serial Number   
 
-----------------------------------------



Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 21 Septiembre 2010, 18:03 pm
Hola flony, gracias por tu ayuda, la verdad me ha servido, pero sigo haciendo pruebas para saber como puedo volcar al txt los datos en la misma linea y separados por una coma, no lo he conseguido, pero sigo mirando
saludos,


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 18:09 pm
Yo es que el batch le tengo bastante olvidado pero si quieres hacerlo todo en una misma linea mirate las concatenaciones del echo en batch por internet tiene que haber mucha info......es que el batch ya te digo lo tengo casi olvidao..

Pero para darte pistas seria mas o menos

echo usuario+' , '+serial

Me suena que era algo por el estilo pero miralo en este ejemplo lo que hago es concatenar la variable usuario, con la cadena de texto (la coma) y la variable serial..todo eso era fijo en un echo

Siento no poder ayudarte mas

salu2 y suert con la patata de vaca!  :-\ :)


Título: Re: volcado de comando en fichero .txt
Publicado por: xassiz~ en 21 Septiembre 2010, 22:01 pm

Pero para darte pistas seria mas o menos

echo usuario+' , '+serial


Eso no existe en Batch.

Código
  1. echo %usuario% , %serial%
  2.  

Pero el caso es que el no lo tiene en variables, lo podría hacer con un for recorriendo la salida, o directamente como en elejemplo de arriba de flony.


Título: Re: volcado de comando en fichero .txt
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 21 Septiembre 2010, 23:15 pm
xdon me parece que me he liado con los scripts en linux jejej


Título: Re: volcado de comando en fichero .txt
Publicado por: flony en 22 Septiembre 2010, 02:22 am
a ver mucho no se como deberia ser la salida del comando x en mi pc sale solo eso pero proba con este for
Código:
for /f "tokens=1,2 " %%a in ('"wmic bios get serialnumber"') do (
(echo %%a , %%b) >> 1.txt
)


Título: Re: volcado de comando en fichero .txt
Publicado por: kmy_012 en 23 Septiembre 2010, 11:05 am
Buenas,

gracias por responder, pero con el último codigo, sale:

SerialNumber ,
[numero de serie] ,
 ,

me estoy desquiciando, he probado almacenando en variables e imprimiendo, pero tampoco, sigo con lo mismo, haciendo pruebas, gracias y saludos


Título: Re: volcado de comando en fichero .txt
Publicado por: flony en 29 Septiembre 2010, 04:24 am
 :-[ jajaja encontre el error fijate asi
Código:
for /f "tokens=1,2 " %%c in ('"wmic bios get serialnumber"') do (
(echo %%a , %%b) >> 1.txt
)


Título: Re: volcado de comando en fichero .txt
Publicado por: leogtz en 30 Septiembre 2010, 01:31 am
No estoy seguro, pero prueba así:
Código
  1. <nul set /p "=hola, ";
  2. <nul set /p "=mundo!";


Título: Re: volcado de comando en fichero .txt
Publicado por: flony en 30 Septiembre 2010, 14:26 pm
buena idea no se me ocurrio..esa seria la solucion
...eso si lo de los ";" andas programando en c++?  ;D


Título: Re: volcado de comando en fichero .txt
Publicado por: xassiz~ en 30 Septiembre 2010, 14:29 pm
buena idea no se me ocurrio..esa seria la solucion
...eso si lo de los ";" andas programando en c++?  ;D
Funciona igual en batch


Título: Re: volcado de comando en fichero .txt
Publicado por: flony en 30 Septiembre 2010, 17:01 pm
esteeeee si tenes razon , lo decia en tono de broma  :rolleyes:, eso se debe a que en bat ";" no significa nada y lo pasa por alto  :P