elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 ... 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 [561] 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 ... 1253
5601  Programación / Scripting / Re: BATCH que busque un archivo con cadena de texto y lo elimine en: 23 Abril 2015, 00:36 am
Citar
¿Podria hacerse mas rapido?

No, cualquier modificación en el código solo podría tener una ínfima mejora en ese sentido, bienvenido a Batch.

Si consideras la velocidad de procesamiento cómo algo importante entonces debes desarrollar el código en cualquier otro lenguaje que no sea Batch.


Citar
¿Como puedo indicar mas de un tipo de archivos

Separando los patrones de búsqueda con comas:

Código:
For /R %%a In ("*.ext1","*.ext2") Do (...)


Citar
o palabras?

Separando las palabras con espacios en blanco.

Código:
Findstr /I "palabra1 palabra2"

Si alguna de las palabras se encuentra, el resultado del comando dará positivo.

Para detalles más específicos, lee la ayuda del comando Finstre donde te explica la sintaxis de uso, o documéntate sobre la utilización de expresiones regulares (RegEx), aunque ya te aviso que en el simple y limitado Batch hasta las expresiones regulares están muy limitadas.
http://en.wikipedia.org/wiki/Regular_expression


Saludos
5602  Programación / .NET (C#, VB.NET, ASP) / Re: Problema mostrar multiples variables en un solo Listbox en: 22 Abril 2015, 18:39 pm
hay alguna limitacion sobre la cantidad de variables que se puedan usar ?  ejemplo si quiero poner dos mil variables jejej ( pura curiosidad)

Código
  1. Dim Lnumbers As List(Of IEnumerable(Of Integer)) = {col1, tgghLali9, ali4, ali5, ali6, ali7,....hasta dosmil o mas }.ToList  

Depende.


1. Límite de elementos.

Desarrollando la aplicación bajo 32 Bits y para un array uni-dimensional, el límite teórico de cantidad de elementos es el equivalente a Integer.MaxValue, es decir, 2.147,483,647 de elementos, pero dependiendo del tipo de elemento que asignes puede ser menos.

Desarrollando la aplicación bajo 64 Bits y para un array uni-dimensional, por defecto el límite sigue siendo el mismo.

Desarrollando la aplicación bajo 64 Bits, para un array multi-dimensional (no uni-dimensional), y bajo .Net Framework 4.5 o superior, se puede superar el límite activando manuálmente la característica gcAllowVeryLargeObjects en la config del proyecto, el límite equivaldría a UInteger.MaxValue, es decir, 4,294,967,295 de elementos (teóricamente).

<gcAllowVeryLargeObjects> Element - MSDN


2. Límite de memoria.

Existe un límite de tamaño de asignación total que puede ocupar el objeto en la memoria, son 2 GB bajo una aplicación de 32 Bits, bajo una aplicación de 64 Bits en principio sigue siendo el mismo límite, pero si usas .Net Framework 4.5 o superior se puede sobrepasar dicho límite.



como hago para que en ves de mostrame
1 2 3 4 5 6 7 8 9

pueda mostrar con ceros asi
01 02 03 04 05 06 07 08 09

Pregunta incorrecta.

Intenta hacerlo por ti mismo, publica tus progresos con el código, y especifica donde estás atascado.

Además, lo de añadir ceros ya te lo resolví hace mucho tiempo ...también podrías buscarlo.

Con LINQ (From ... In ... Select) le das el formato deseado a la secuencia.

Saludos
5603  Programación / Scripting / Re: BATCH que busque un archivo con cadena de texto y lo elimine en: 22 Abril 2015, 13:54 pm
si genera el archivo Report.txt pero vacio

Pero, ¿estás esperando hasta que finalice la ejecución del script?, es decir, ¿esperas hasta que salga el "pause"?,
el archivo "report.txt" se genera vacío pero se irá rellenando con los archivos encontrados, puede tardar unos minutos dependiendo de la cantidad de archivos.

Ten en cuenta que ese batch-script que te mostré está optimizado para omitir la salida estándar y escribir directamente los resultados en el archivo de texto (con esto se obtiene un aumento de velocidad), en la consola no va a mostrar nada ...solo el pause, cuando termine el FOR de iterar los directorios.

Saludos!
5604  Programación / .NET (C#, VB.NET, ASP) / Re: Problema mostrar multiples variables en un solo Listbox en: 22 Abril 2015, 13:27 pm
En serio Luis, llevas... no se, 80 o 100 preguntas sobre los mismos temas, deberías tenerlos más que aprendidos.

Me gustaría que aprendieses a resolver fallos básicos cómo este, que te suceden por que vas toqueteando cosas ...cambiando puntos, comas, etc, a ver si alguno de esos cambios cuela y te funciona, pero así no se programa Luis, así no.

Lo primero de todo que quiero que hagas es que vayas a las opciones de VisualStudio y actives estas opciones tal y cómo yo las tengo:



Eso te servirá para cojer buenos hábitos de programación.

A ver si aprendes a depurar con breakpoints o al menos a solucionar estos problemas básicos por ti mismo.

Mi habilidad para explicar no es que sea muy buena y tampoco voy a entrar en detalles avanzados de depuración, solo intentaré explicarte cómo solucionar los problemas del código que mostraste de un modo para que lo entiendas, si acabas teniendo dudas, pregunta.



Primer problema:

Tienes no se cuantas colecciones o arrays cómo estos:


Este objeto lo intentas asignar cómo una lista de enteros, pero no te lo permite:


A simple vista se aprecia que algo falla por que la sintaxis sale resaltada y al intentar compilar salen varios errores de compilación:


El primer error ya lo veremos luego,
si te fijas, el último error está repetido (y solo te saldrá ese error si activaste las opciones que te dije), eso nos indica que las variables col1, col2 y col3 se están tratando por separado, a la conclusión que deberías llegar con eso es que no estás asignando o "agrupando" correctamente las variables.

Fíjate aquí cómo lo asignas:


Pero fíjate bien:


¿Que falta entonces aquí?


Los brackets!


Bien, al ponerlos, el error que se repetía desaparece, pero nos queda este error:


Un array de un array de enteros no se puede convertir a una lista de enteros, hmmm... ¿por qué pasa esto?.

Por que aunque hayamos solventado el error que se repetía, los brackets {} indican la asignación de un array, y además, dentro de ese array he colocado 3 arrays más (col1, col2 y col3),
así que tenemos un array de arrays de enteros intentando asignarlo a una lista de enteros, ¿qué harias?, corregir la declaración:

De lista de enteros:


A lista de array de enteros:


Este error desaparece finálmente:


Pero ahora aparece un nuevo error:


No se puede convertir un array de array de enteros a una lista de array de enteros, claro, son dos tipos parcialmente distintos... entonces debes buscar la forma de convertir una colección (enumerable) a una lista, que también lo sabes hacer de sobra, con la función ToList:



Y si no recordases cómo se hace, solo tienes que buscar en Google:
http://lmgtfy.com/?q=.net+ienumerable+to+list

O investigar un poco en la documentación oficial de MSDN para encontrar la manera:
https://msdn.microsoft.com/en-us/library/vstudio/system.linq.enumerable_methods%28v=vs.100%29.aspx



Entonces, le añadimos esa función:


Listo, el error ha desaparecido, primer problema solucionado.

En resumen, solo habia que corregir la declaración del objeto "Lnumbers" y convertir el array al type "List", facil, ¿no?.



Segundo problema:

Creo que en el fondo sabes de sobra cómo solucionar esto, pero de todas formas lo analizaré:

Tenemos este código:


Al intentar compilar, sale este error:


No se puede convertir un array de enteros al tipo Listbox, el error se explica por si mismo.

Solo necesitas fijarte en cómo has declarado el objeto Lnumbers:


Ahí no hay ningún ListBox, es una lista de array de enteros.

Si pretendes iterar una lista de array de enteros entonces deberás declarar la variable de iteración del For como tal, ¿no?, cómo un array de enteros:


Listo, segundo problema solucionado.



El código que mostraste (bueno, una adaptación del código para poder correrlo):


El código con las correcciones aplicadas que he ido explicando:


El resultado de la ejecución:


Y el código para hacerlo con IEnumerables:
Código
  1.    Dim col1 As IEnumerable(Of Integer) = {1, 2, 3}
  2.    Dim col2 As IEnumerable(Of Integer) = {4, 5, 6}
  3.    Dim col3 As IEnumerable(Of Integer) = {7, 8, 9}
  4.  
  5.    Private Sub Test()
  6.  
  7.        Dim Lnumbers As List(Of IEnumerable(Of Integer)) = {col1, col2, col3}.ToList
  8.  
  9.        For Each col As IEnumerable(Of Integer) In Lnumbers
  10.  
  11.            ListBox1.Items.Add(String.Join(" "c, col))
  12.  
  13.        Next col
  14.  
  15.    End Sub

Espero que de verdad esto haya servido para que puedas mejorar en algún aspecto... ya se que tampoco he explicado mucho y han sido cosas muy básicas, pero creo que de algo servirá.

Saludos!
5605  Programación / .NET (C#, VB.NET, ASP) / Re: Problema mostrar multiples variables en un solo Listbox en: 22 Abril 2015, 12:48 pm
de acuerdo, dáme unos minutos para escribir... y ve preparándote para el "regaño", jeje...
5606  Programación / Scripting / Re: BATCH que busque un archivo con cadena de texto y lo elimine en: 22 Abril 2015, 12:33 pm
me genera el archivo Report.txt, pero en blanco porque pues no esta eliminando los archivos ¿Que podra ser compañero?

Hola

Lo probé minuciosamente antes de compartirlo, en mi caso funcionó correctamente.

1. ¿Que versión de Windows estás utilizando?.

2. ¿Has modificado el valor de alguna de estas variables?, en caso afirmativo, indica los valores que pusiste, y ten en cuenta que el comando "FindStr" usa expresiones regulares.

Citar
Código:
Set "filePattern=*.txt"
Set "textPattern=Secretox"

De todas formas puedes probar a desactivar el redireccionamiento de la salida de error (2>Nul) en este comando, para comprobar si te está fallando:
Código:
(Del /F /Q "%%~ff")2>Nul
por:
Código:
(Del /F /Q "%%~ff")

Si no muestra ningún error, entonces elimina la lógica donde eleminas archivos y comprueba si lo que te está fallando es el comando "Findstr" por que no esté encontrando el texto a buscar "Secretox":

Código:
For %%d in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) Do (
(PUSHD "%%d:\")2>Nul && (
For /R %%f In ("%filePattern%") Do (
(Type "%%~ff" | Findstr /I "%textPattern%")1>Nul 2>&1 && (
Echo: Se encontró el texto en: "%%~ff"
)
)
POPD
)
)

saludos
5607  Programación / .NET (C#, VB.NET, ASP) / Re: Problema mostrar multiples variables en un solo Listbox en: 22 Abril 2015, 12:16 pm
Hay muchos fallos obvios en el último código que has mostrado, pero antes de proseguir a explicarte, especifica claramente que es 'rsalmlals2' (y el resto), muestra el tipo de declaración.

Por ejemplo, ¿lo tienes declarado cómo un IEnumerable(Of IEnumerable(Of Integer))?:



Saludos
5608  Programación / Scripting / Re: BATCH que busque un archivo con cadena de texto y lo elimine en: 22 Abril 2015, 10:58 am
El script que has publicado es ineficiente, primero haces una búsqueda y generas un listado completo de los archivos contenidos en cada unidad de disco duro encontrada (con el consumo de tiempo que eso conlleva si el disco contiene miles de archivos), y luego, la otra búsqueda la realizas en el directorio de trabajo actual, desaprovechando el listado anterior.

Prueba así:
Código
  1. @Echo Off & (CHCP 1252)>1>NUL
  2.  
  3. Set "filePattern=*.txt"
  4. Set "textPattern=Secretox"
  5.  
  6. (For %%d in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) Do (
  7. (PUSHD "%%d:\")2>Nul && (
  8. For /R %%f In ("%filePattern%") Do (
  9. (Type "%%~ff" | Findstr /I "%textPattern%")1>Nul 2>&1 && (
  10. (Del /F /Q "%%~ff")2>Nul && (
  11. Echo: Se encontró y eliminó: "%%~ff"
  12. )
  13. )
  14. )
  15. )
  16. ))>".\Report.txt"
  17.  
  18. Pause&Exit /B 0

Saludos
5609  Programación / .NET (C#, VB.NET, ASP) / Re: Problema mostrar multiples variables en un solo Listbox en: 21 Abril 2015, 22:49 pm
quiero hacer algo como esto: Pero con las variables que muestro en los testboxes

Código
  1. Dim lbs As ListBox() = {ListBox2, ListBox3, ... ListBox60}   <----cambiar x variables que se muestran  en cada testbox

Intenta reformular tu duda, por que de verdad que no se entiende nada.

Esto te podría ayudar:



Código
  1. Dim Lnumbers As List(Of Integer) = rsalmlals2
  2.  
  3. ListBox1.Items.Add(String.Join(" "c, Lnumbers))
   
¿?

saludos
5610  Programación / Scripting / Re: como eliminar los pif o exe (Virus) Code para Mejorar "Solo Experto en Batch" en: 21 Abril 2015, 21:26 pm
yo tuve un programa hace tiempo y lo perdí, ahora no recuerdo como se llama ni lo consigo, es que yo podría saber que programa estaba utilizando dicho archivo, me mostraba hasta la librería que estaba en ejecución para el dicho archivo.

¿A que archivo te refieres?, por "archivo" entiendo que te refieres a un archivo ejecutable (puesto que hablas de cargar librerías/módulos).

Si lo que quieres es averiguar las dependencias de una aplicación de forma genérica puedes utilizar la herramienta Dependency Walker .

Saludos
Páginas: 1 ... 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 [561] 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 ... 1253
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines