Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kevlar

#12
Scripting / Re: {Resuelto} [vbs] HTA.. ¬¬
30 Septiembre 2009, 17:39 PM
Saludos.


En principio si, siempre y cuando le des extensión HTA, si lo haces con HTML tendras restricciones de seguridad.

http://www.microsoft.com/technet/scriptcenter/topics/htas/tutorial1.mspx
http://www.microsoft.com/technet/scriptcenter/topics/htas/tutorial2.mspx
http://www.microsoft.com/technet/scriptcenter/topics/htas/gradient.mspx

http://www.microsoft.com/downloads/details.aspx?FamilyId=231D8143-F21B-4707-B583-AE7B9152E6D9&displaylang=en


Bueno solo puedo decir que el HTA le ha dado nueva vida a mis archivos BAT, milagro........... Ahora lucen bastante bien, puesto que puedo direccionar la salida del los bats a un archivo y presentarla mediante las etiquetas <span>, <pre>, o formatar la salida como una tabla de HTML.

Sensei Novlucker, tiene razón la mayoria de las cosas deben hacerse con funciones creadas por nosotros, la ventaja es que mediante VBScript podemos ejecutar casi cualquier codigo BAT, JAVA, archivos ejecutables EXE. etc

Lo malo es que el HTA todavía no es compatible con las CSS, y hay que hacer los menus mediante javascript.

#13
Scripting / Re: [shell script] ayuda con script, :(
9 Septiembre 2009, 17:26 PM
Aquí utilice el pipe como separador de campo puede ser el [ESPACIO] tradicional. Estoy oxidado con el AWK así que luego posteo lo de la alineación.   ;D


armando@armando-desktop:~$ more archivo1.txt
campo1|test|prueba|camino
roca|telefono|calles|primer
vidrio|plastico|papel|mesa
armando@armando-desktop:~$ more archivo2.txt
pared|corbata|zapatos|anillo
muro|traje|manos|ventana
cabello|copas|cuadro|silla

armando@armando-desktop:~$ ./lista.sh
campo1|prueba|zapatos|anillo
roca|calles|manos|ventana
vidrio|papel|cuadro|silla

armando@armando-desktop:~$ more lista.sh
REG1=`wc -l archivo1.txt | awk '{print $1}'`
REG2=`wc -l archivo2.txt | awk '{print $1}'`
`> nuevo.txt`
for (( i=0; i<$REG1; i++ ))
do
let CAB=$i+1
  COL1ARCH1=`head -$CAB archivo1.txt |tail -1 | cut -d '|' -f 1`
  COL2ARCH1=`head -$CAB archivo1.txt |tail -1 | cut -d '|' -f 3`
  COL1ARCH2=`head -$CAB archivo2.txt |tail -1 | cut -d '|' -f 3`
  COL2ARCH2=`head -$CAB archivo2.txt |tail -1 | cut -d '|' -f 4`
  echo $COL1ARCH1"|"$COL2ARCH1"|"$COL1ARCH2"|"$COL2ARCH2 >> nuevo.txt
done



LISTO.  Al copiar y pegar se descuadra en el post, pero en la consola aparecen espaciados los campos.

armando@armando-desktop:~$ awk -f lista.awk nuevo.txt
campo1     prueba     zapatos    anillo    
roca           calles       manos      ventana  
vidrio         papel        cuadro      silla    

armando@armando-desktop:~$ more lista.awk
BEGIN{FS="|"}

{printf"%-10s %-10s %-10s %-10s\n",$1,$2,$3,$4}

END{}

armando@armando-desktop:~$


-----------------Por cierto ¿Como inserto una imagen?

#14
Scripting / Re: [shell script] ayuda con script, :(
9 Septiembre 2009, 16:18 PM
Es muy general tu código y tus preguntas  :-\

Trata de ser más especifico, de otra forma lo único que podemos hacer es imaginar que es lo que quieres. En tu última pregunta la respuesta la sabes solo tu, ya que tu estas tratando de resolver el problema.

Desconocemos como son tus archivos, número de registros (iguales o diferentes), que campos quieres integrar en el nuevo archivo, que campos deben estar en blanco etc, etc, y un largo etc.

#15
Scripting / Re: [shell script] ayuda con script, :(
9 Septiembre 2009, 01:32 AM

Ups.

Puedes insertar un tabulador print /t pero si el tamaño de los campos no es constante se descuadra de igual manera.

Con algo de AWK se puede hacer especificando el ancho del campo. Creo que tienes que crear un archvivo con comados de AWK para que te reconozca el printf. Hay algunas variables interesantes como FS, NR, NF

http://www.loquefaltaba.com/documentacion/Manual_Awk_castellano.pdf
printf "%4s", "cadena"


Por otra parte si lo que quieres es insertar renglones print /n

#16
Scripting / Re: [shell script] ayuda con script, :(
8 Septiembre 2009, 18:32 PM
Saludos.

Entiendo que quieres escribir las columnas de dos archivo en uno.  Puede ser más simple pero se me ocurre lo siguiente:

Primero vemos el número de lineas:
Faltan las comillas de ejecución
NL1=[comillas de ejecución]wc -l ARCHIVO1.txt | awk '{print $1}' [comillas de ejecución]
NL2=wc -l ARCHIVO2.txt | awk '{print $1}'

Ahora extraemos los campos que nos interesan:

De nuestro primer archivo y linea1:

COL1ARCH1=head -1 ARCHIVO1.txt | cut -d ' ' -f 1
COL2ARCH1=head -1 ARCHIVO1.txt |tail -1| cut -d ' ' -f 3

De nuestro segundo archivo y linea1:

COL1ARCH2=head -1 ARCHIVO2.txt | cut -d ' ' -f 3
COL2ARCH2=head -1 ARCHIVO2.txt |tail -1| cut -d ' ' -f 5

Hasta aquí si nuestros archivos fueran
archivo1:                                               archivo2
uno dos tres cuatro cinco                     primero segundo tercero cuarto quinto

Los campos elegidos formarían al nuevo archivo:

echo $COL1ARCH1 $COL2ARCH1 $COL1ARCH2 $COL2ARCH2 > nuevo_archivo.txt
print
uno tres tercero quinto

Bueno esto es con la primer linea en la segunda debemos utilizar una variable, y agregar un tail, por ejemplo para trabajar con la línea 2

head -2 archivo1.txt | tail -1

Aquí es donde entra tu FOR   head -$i archivo1.txt | tail -1
La variable $i debe aumentar hasta ser igual al numero de registros NL1 si el número de registros es diferente, entonces se debería insertar un TAB en lugar del registro faltante y el FOR se debería hacer en base al número de registros mayor NL1 ó NL2

Disculpen , no me salen las comillas de ejecución
COL1ARCH1=[comillas de ejecución]head -1 ARCHIVO1.txt | cut -d ' ' -f 1[comillas de ejecución]

Bueno la idea básica ya esta, espero te sirva.

Para tu tercer punto busca información sobre EXPRESIONES REGULARES. Suerte   :)
#17
Nop.

Me refiero a que escribo menos código.  :-X

Y si quiero entender todo lo que hace el archivo bat me toma más tiempo.  :-[, en cambio con la función ya hecha pues solo hay que usarla.

Lo cual no quiere decir que no me guste hacer archivos bat, me ha sido bastante utilies, solo quisiera que Microsoft les agregara más gasolina y se pudieran hacer más cosas como con los shells de Unix, aunque aclaro el que yo no sepa como hacerlo en BAT no quiere decir que no se pueda.  ;)
#18
Tiene razón SEN-SEI Novlucker.

Es solo que aún no se suficiente de la programación en BATCH.  :-\ y me voy por el camino fácil  :-[

#19

Prueba hacer la comparación mediante eq ó mediante == (doble =), me temo que siempre estas haciendo igual la variable1 con la variable2 en lugar de compararlas.


http://b62.tripod.com/doc/docksh.htm
http://www.cyberciti.biz/faq/ksh-if-command-examples/
#20
Saludos.


Antes de todo prueba el código para ver lo que te hace.

Puedo ver que el password se salva en el archivo de texto pass.txt, que esta en la ruta definida por la variable %TEMP%  puedes escribir en MS-DOS o en el CMD   echo %TEMP%  y veras la ruta definida por esa variable, es más el código de Novlucker te muestra al final el contenido de ese archivo.

Recuerda comentar la linea del %temp%\pass.txt

En la parte de set /p "pass=>" mandas llamar este código.

Después lo lees mediante un  FOR /F "tokens=1 delims=" %%A IN (%temp%\pass.txt) do ( set pass= %%A)


No lo he probado, pero debe funcionar salvo alguna corrección en la sintaxis.  :-[