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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 [246] 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 ... 279
2451  Programación / Scripting / Re: Leer xml desde archivo batch en: 30 Abril 2009, 21:24 pm
Necesitas poner el codigo entero.
2452  Programación / Scripting / Re: (Batch) Es Posible hacer password char en batch? (Pregunta) en: 29 Abril 2009, 19:25 pm
Para mi mejor, que no muestre asteriscos.  ::)
2453  Programación / Scripting / Re: (Batch) Es Posible hacer password char en batch? (Pregunta) en: 29 Abril 2009, 18:20 pm
Aqui un codigo que hace lo mismo, es de Timo Salmi:
Código:
@echo off & setlocal enableextensions
:: Build a Visual Basic Script
set vbs_=%temp%\tmp$$$.vbs
set skip=
findstr "'%skip%VBS" "%~f0" > "%vbs_%"
::
:: Prompting without linefeed as in Item #15
echo.|set /p="Password: "
:: Run the script with Microsoft Windows Script Host Version 5.6
for /f "tokens=* delims=" %%a in ('
  cscript //nologo "%vbs_%"') do set MyPass1=%%a
::
echo.
echo.|set /p="Retype  : "
for /f "tokens=* delims=" %%a in ('
  cscript //nologo "%vbs_%"') do set MyPass2=%%a
::
:: Clean up
for %%f in ("%vbs_%") do if exist %%f del %%f
::
:: Demonstrate the result
echo.
if "%MyPass1%"=="%MyPass2%" (
  echo The entered password was %MyPass1%
  ) else (
  echo No match)
endlocal & goto :EOF
'
'The Visual Basic Script
Set WshPass = WScript.CreateObject("ScriptPW.Password") 'VBS
Password=WshPass.GetPassWord() 'VBS
WScript.Echo PassWord 'VBS
Salida:

Código:
C:\>code
Password:
Retype  :
The entered password was Leo

C:\>
2454  Programación / Scripting / Re: [batch]Crear lista de direcciones en: 27 Abril 2009, 16:52 pm
Hola, a ver si te sirve esto :
Código
  1. @echo off
  2. :: Leer direccion que se esta usando al momento y guardarla en un .txt:
  3. for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
  4. echo %%_ > "ip.txt"
  5. )
  6. :: RENOVAR LA IP
  7. :: Volver a sacar la ip, y compararla con la del .txt :
  8. for /f "tokens=3" %%_ in ('netsh diag show ip ^| find /i "ipaddress"') do (
  9. set "ip=%%_"
  10. )
  11. for /f "tokens=1" %%_ in (ip.txt) do (
  12. set "ip_txt=%%_"
  13. )
  14. :: Se tienen las dos variables, se comparan :
  15. if "%ip%"=="%ip_txt%" (
  16. echo.Iguales
  17. rem Acciones
  18. ) else (
  19. echo.No iguales
  20. rem Acciones
  21. )
-El codigo guarda la direccion IP actual en un archivo de texto llamado "ip.txt".
-Se renueva la IP (Eso lo haces tu).
-Se vuelve a sacar la IP actual, se guarda en una variable, comparar se luego.
-Se coge la direccion IP del archivo de texto, y se guarda en una variable de texto.
-Luego se hace la comparación.

Saludos.
2455  Programación / Scripting / Re: Boludes en Batch que no funciona. en: 25 Abril 2009, 17:56 pm
Código
  1. @echo off
  2. :menu
  3. cls
  4. echo                                              MENU
  5. echo 1.Hora
  6. echo 2.Fecha
  7. echo 3.Crear un directorio
  8. echo 4.Borrar un directorio
  9. echo 5.Salir
  10. set /p opc=Elija una opcion
  11. if not defined opc (goto:menu)
  12. if %opc%==1 goto 1
  13. if %opc%==2 goto 2
  14. if %opc%==3 goto 3
  15. if %opc%==4 goto 4
  16. if %opc%==5 (goto 5) else (goto:menu)
  17. :1
  18. cls
  19. time
  20. cls
  21. goto:menu
  22. :2
  23. cls
  24. time
  25. cls
  26. goto:menu
  27. :3
  28. cls
  29. set /p nombre=Escriba el nombre del directorio a crear
  30. if not defined nombre (goto:3)
  31. MD "%nombre%"
  32. echo Directorio creado
  33. cls
  34. goto:menu
  35. :4
  36. cls
  37. set /p borra=Escriva el derectorio a eliminar
  38. if not defined borra (goto:4)
  39. rd /s /q "%borra%"
  40. echo directorio eliminado
  41. cls
  42. goto:menu
  43. :5
  44.  
  45.  
Las etiquetas se ponen asi :
Código:
:3
no
Código:
3:
RD elimina carpetas, DEL no.

Saludos.
2456  Programación / Scripting / Re: Ayuda, cortar una parte de un txt. en: 24 Abril 2009, 05:06 am
A ver, teniendo como ejemplo este archivo de texto:
file.txt:

Código:
123
234
345
456
567
678
789
890
8BIMPatt
leo
leo
lala
lelo
lala
lulu
juaisjuais
klasjkldjkasd
flkjdfklsdfmn,
Queremos cortar hasta donde se encuentre la palabra "8BIMPatt".
Código
  1. @echo off
  2. :: Leo Gutierrez R.
  3. setlocal enabledelayedexpansion
  4. for /f "tokens=1 delims=:" %%_ in ('type "file.txt" ^| findstr /n "8BIMPatt"') do (set "start=%%_")
  5. if not defined start (
  6. echo Palabra "8BIMPatt" no encontrada.
  7. set /p =Pulse para salir.
  8. exit /b 1
  9. )
  10. set /a "contador=0"
  11. for /f "tokens=*" %%_ in (file.txt) do (
  12. echo %%_ >> "otro.txt"
  13. set /a "contador+=1"
  14. if !contador! equ !start! (exit /b 0)
  15. )
  16. goto:eof
  17.  
El codigo nos creará un archivo llamado "otro.txt" donde se encontrará la información:
otro.txt:
Código:
123 
234
345
456
567
678
789
890
8BIMPatt

Saludos.
2457  Programación / Java / Re: Ejercicio Avanzado usando Java (POO) en: 22 Abril 2009, 08:24 am
Y tu fuera de que no usas el botón "Modificar".

Soy novato en C, por eso lo resolví de esa manera.
2458  Programación / Java / Re: Ejercicio Avanzado usando Java (POO) en: 22 Abril 2009, 08:09 am
El ejercicio lo resolví en C, de algo te servirá:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
    char buffer[30];
    signed int numero, ndigitos, suma = 0, producto = 1;
    printf("Introduzca numero : ");
    scanf("%i", &numero);
    ndigitos = strlen(itoa(numero, buffer, 10));
    signed int digitos[ndigitos];
    for(signed int i = 1; i <= ndigitos; i++)
    {
        digitos[i] = numero % 10;
        numero /= 10;
    }
    for(signed int i = 1; i <= ndigitos; i++)
    {
        suma += digitos[i];
    }
for(signed int i = 1; i <= ndigitos; i++)
    {
        producto *= digitos[i];
    }
    printf("\n\tCantidad de digitos : %i", ndigitos);
    printf("\n\tSuma : %i", suma);
    printf("\n\tProducto de sus digitos : %i", producto);
    printf("\n\tDigito izquierdo : %i", digitos[sizeof(digitos)/sizeof(int)]);
    printf("\n\tDigito derecho : %i", digitos[1]);
    printf("\n\nNumero inverso : ");
    for(signed int i = ndigitos; i > 0; i--)
    {
        printf("%i", digitos[i]);
    }
    return 0;
}
Puedes sacarle provecho a los for para calcular las sumas y productos.

No te preocupes seguro que aqui te ayudarán bien, solo tienes que poner un poco de tu parte, poniendo lo que llevas de codigo.
2459  Programación / Scripting / Descubrimiento en comando FOR [Batch] en: 16 Abril 2009, 22:09 pm
Hola, siguiendo con el descubrimiento que ha hecho Carlos:
Citar
La utilidad de mi descubrimiento es que por ejemplo si antes declaraban:

Código:
Código:
for /f "tokens=1-4" %%Y in ("p1 p2 p3 p4") do (
echo %%Y%%Z...
)

y querían mostrar el token 1,2,3,4 solo podíamos mostrar el token 1 y 2, porque luego de %%Y viene %%Z y después ... no sabíamos que letra venía.

Entonces ahora podemos hacer:
Código:
Código:
for /f "tokens=1-4" %%Y in ("p1 p2 p3 p4") do (
echo %%Y%%Z%%[%%\
)

He descubierto que tambien podemos usar numeros en la variable del for, de la siguiente manera.

Código:
@echo off
for %%^1 in (
hola,
adios,
si,
no,
Ok,
bye
) do (
echo %%^1
)

Código:
for /l %%^6 in (1 1 10) do (
echo %%^6
)

Código:
for /d /r %%^2 in (*) do (
echo %%^2
)
Código:
for /f "tokens=1,2,3" %%^0 in ('ver') do (
echo.%%^0 %%^1 %%^2
)

Código:
for %%^1 in ("%~nx0") do (
echo %%~nxt^1
)


Código:
for /f "tokens=1" %%^7 in ('ver') do (
echo.%%^7
)
Esto no está documentado, al menos que yo sepa.

Rob Van der Woude :
Citar
Hi Leonardo,
 
Amazing! Yet another new feature discovered in CMD, after all these years...
I added your tip on my Clever Tricks page (http://www.robvanderwoude.com/clevertricks.php#FORListNumbers) with a link from the Program Flow section of my Batch Techniques page (http://www.robvanderwoude.com/battech.php#Flow).
 
Thanks again,
 
Rob
Citar
Leonardo Gutierrez Ramirez also found a way to use numbers as variables in a FOR loop:

    Hi, I have discovered that we can use numbers in the variable FOR command, like this:

    FOR /L %%ˆ6 IN (1 1 10) DO (
        ECHO %%ˆ6
    )

    FOR /D /R %%ˆ2 IN (*) DO (
        ECHO %%ˆ2
    )

    FOR /F "tokens=1,2,3" %%ˆ0 IN ('VER') DO (
        ECHO.%%ˆ0 %%ˆ1 %%ˆ2
    )

    FOR %%ˆ1 IN ("%~nx0") DO (
        ECHO %%~nxtˆ1
    )

    FOR /F "tokens=1" %%ˆ7 IN ('VER') DO (
        ECHO.%%ˆ7
    )

    FOR %%ˆ1 IN ("%~nx0") DO (
        ECHO %%~nxatdˆ1
    )

Combined with Carlos' extension of the available variables in FOR loops, we can now, in theory at least, nest up to 75 FOR loops!
Not that I would want to maintain such code...

Thanks Leo

http://www.robvanderwoude.com/clevertricks.php#FORListNumbers

http://www.robvanderwoude.com/battech.php#Flow

Saludos.
2460  Programación / Scripting / Re: Descubrimiento en comando for en: 16 Abril 2009, 03:16 am
Carlos, acabo de descubrir que tambien se pueden usar numeros en la variable del for:
Código:
FOR %variable IN (conjunto) DO comando [parámetros]
Asi :
Código
  1. for /l %%^5 in (1,1,10) do (
  2. echo %%^5
  3. )
Código:
1
2
3
4
5
6
7
8
9
10
Press any key...

Código
  1. for %%^1 in ("%~nx0") do (
  2. echo %%~nxt^1
  3. )
Código:
16/04/2009 07:12 a.m. code.bat
Press any key...

Código
  1. for /f "tokens=1" %%^7 in ('ver') do (
  2. echo.%%^7
  3. )

Código:
C:\>code
Microsoft

C:\>
Código
  1. for /f "tokens=1,2,3" %%^0 in ('ver') do (
  2. echo.%%^0 %%^1 %%^2
  3. )

Saludos.
Páginas: 1 ... 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 [246] 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 ... 279
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines