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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 [545] 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 ... 1236
5441  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
5442  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
5443  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
5444  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
5445  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
5446  Programación / Scripting / Re: como eliminar los pif o exe (Virus) Code para Mejorar "Solo Experto en Batch" en: 21 Abril 2015, 21:25 pm
con respecto al code; como lo ves tu

Genericamente hablando y siendo un Batch-Script, el código lo veo de la única manera que lo puedo ver, es decir, simplón, feo, tedioso e ineficiente, pero el empeño que le hayas puesto para desarrollar el código tiene un valor distinto (mayor que el propio código en si mismo).



que le hace falta

1. Organización del código fuente.
El código que has publicado carece de cualquier tipo de estructura, ni organización ni indentación, para ser sincero es horrible analizar el código ya que lo tienes todo muy lineal y "arreu" ...aunque de todas formas las limitaciones de este "lenguaje" apenas dan libertad para estructurar el código debídamente, pero podrías haberlo hecho mucho mejor.

Se que es poco código, pero personálmente soy bastante estricto en ese sentido, no t elo tomes a mal, aparte, tener 3 o 4 bloques de código con nombres tipo "a1", "n", "n1", y que repitan código... también es horrible verlo, y eso sucede por que con Batch no se aprende nada que sea reálmente útil, nada.

Por ejemplo, esto lo repites en dos bloques:
Citar
Código:
:n
cls
@echo off
Echo.
Echo.
echo         Programador Tecnico Computarizado
echo                        BY
echo                *****Rafael Ch*****
Echo.
Echo.
Echo.
echo %1>>1.txt

En lugar de eso, escribe un método rehusable cómo este:

Código:
:WriteHeader :: %1 = Descripción del argumento %1; %2 = Archivo de destino
(
CLS
Echo+
Echo+
Echo:        Programador Tecnico Computarizado
Echo:                       BY
Echo:               *****Rafael Ch*****
Echo+
Echo+
Echo+
Echo "%~1"
)>>"%~2"
Goto :EOF

Y entonces lo usas:
Código:
:n
Call :WriteHeader "%~1" "Archivo.txt"
...

2. Limpieza de código en deshuso.

La variable "PTH" no la utilizas en ninguna parte del código, además de eso repites el código en otros bloques:
Citar
Código:
Set /p PTH=%1

y además lo estás seteando incorréctamente ya que la variable de argumento %1 contiene comillas dobles, así que en todo caso deberías hacerlo así para poder usar luego dicha variable de forma correcta:
Código:
Set /P "PTH=%~1"

Nota: No me he fijado si en el resto del código hay otros comandos en deshuso.

3. Cierre de argumentos.
Cómo norma general los argumentos se delimitan al encontrar un espacio, y hay que encerrarlos con comillas dobles,
por ende, esto no te funcionará en ningún PC cuyo nombre de usuario contenga espacios:
Citar
Código:
Copy %0 %homedrive%\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo\

Además de eso, también deberías expandir la variable de argumento para eliminarle las comillas dobles y añasírselas tú:
Código:
"%~0"

4. Depurar el código, y utilizar los operadores correctos (de agrupación y redireccionamiento)

Esto es otra de las cosas más horribles que se pueden hacer en Batch, la siguiente linea de código tiene muchos fallos en uno,
la concatenación single-line de tantos comandos y la confusión que eso crea al leerlo,
la ausencia de los operadores de agrupación ( ) crea conflictos y posibles errores de sintaxis al determinar donde se delimita la concatenación de comandos,
utilizar la pipe de redireccionamiento cuando seguramente no es tu intención (ya que el comando attrib no tiene una entrada de datos),
evaluar un string sin encerrarlo con comillas (si uno de los dos strings estuviese vacio o con espacios en el nombre daría error de sintaxis):

Citar
Código:
for /r X:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"

Puedes hacerlo así:
Código:
For /R "X:\" %%i in ("*%%p") Do (
If "%%~zi" EQU "%%s" (
Del /f /q /s /a "%%i" &&^
Md "%%i" ||^
Attrib +h +s +r +a +i "%%i"
)
)

O bien en una sola linea:
Código:
For /R "o:\" %%i in ("*%%p") Do ( If "%%~zi" EQU "%%s" ( (del /f /q /s /a "%%i" && md "%%i" || attrib +h +s +r +a +i "%%i") ) )

5. Simplificación de código.

Debes tratar de evitar hacer cosas cómo esta repetición de código:

Citar
Código:
for /r o:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r n:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r m:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r l:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r k:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r j:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r i:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r h:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r g:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r f:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r e:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r d:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"
for /r c:\ %%i in (*%%p) do If %%~zi EQU %%s del /f /q /s /a "%%i" && md "%%i" | attrib +h +s +r +a +i "%%i"

Sírvete de la utilidad de FOR para algo más util, cómo esto:
Código:
Set "DriveLetters=C D E F G H I J K L M N O"

For %%# in (%DriveLetters%) Do (
For /R "%%#:\" %%i in ("*%%p") Do (...)
)

Nota: Aunque realmente lo que deberías hacer para aumentar la eficiencia es obtener e iterar una lista de unidades de disco duro conectadas al PC, con el comando FSUTIL o WMIC:
http://foro.elhacker.net/scripting/sobre_archivos_bat-t402932.0.html;msg1899628#msg1899628



Puede que haya otras cosas más a destacar en el código cómo por ejemplo la funcionalidad principal del código... no es la más correcta, pero sinceramente no me apetece analizar más de lo necesario un código escrito en Batch y menos de una "vacuna", batch no sirve para eso y creo que con lo dicho es suficiente para que puedas mejorar algunos aspectos fundamentales tanto en el uso de batch-script como en la programación general.

Mi último consejo es que lleves a cabo tus proyectos de programación en cualquier otro lenguaje compilado o de scripting que esté capacitado para la tarea, menos Batch.

Espero que el pequeño análisis haya servido de algo.

Saludos!
5447  Programación / Scripting / Re: Problemas con django en: 21 Abril 2015, 19:56 pm
Utiliza la siguiente sintaxis:

Código:
Python.exe "C:\ruta de Python\Scripts\django-admin.py" startproject "nombre del proyecto"

Fuente

Saludos
5448  Programación / Scripting / MOVIDO: ¿Comando para ejecutar una aplicación como administrador? en: 21 Abril 2015, 19:52 pm
El tema ha sido movido a Windows.

http://foro.elhacker.net/index.php?topic=433782.0
5449  Programación / Programación General / MOVIDO: Duda con la sintaxis en C (usando code::blocks) -- solucionado, gracias; en: 21 Abril 2015, 19:49 pm
El tema ha sido movido a Programación C/C++.

NO DUPLICAR TEMAS, LEER LAS NORMAS DLE FORO, GRACIAS.

http://foro.elhacker.net/index.php?topic=433811.0
5450  Programación / Programación General / MOVIDO: Problema con variable de datos en un programa en C -- solucionado gracias; en: 21 Abril 2015, 19:48 pm
El tema ha sido movido a Programación C/C++.

http://foro.elhacker.net/index.php?topic=433788.0
Páginas: 1 ... 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 [545] 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines