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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 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 262 263 264 ... 279
2481  Programación / Scripting / Re: SCRIPT comprobar carpeta VACIA en: 9 Abril 2009, 23:04 pm
Código
  1. @echo off
  2. :: Me cambio a la carpeta donde quiero checar si existen o no archivos o carpetas.
  3. cd /d "%homedrive%\vacio"
  4. for /f "tokens=1" %%$ in ('dir /b ^| find /v /c ""') do (
  5. set "valor=%%$"
  6. )
  7. if %valor% equ 0 (
  8. echo El directorio esta vacio
  9. ) else (
  10. echo El directorio no esta vacio
  11. )
  12. set /p ,=
  13. exit /b 0

O asi :
Código:

C:\vacio>dir /b
lalalala.txt

C:\vacio>dir /b | find /v /c "" | find "0" > nul 2>&1  && echo.Vacio. || echo No.vacio.
No.vacio.

C:\vacio>del lalalala.txt

C:\vacio>dir /b | find /v /c "" | find "0" > nul 2>&1  && echo.Vacio. || echo No.vacio.
Vacio.

C:\vacio>

Saludos.
2482  Programación / Scripting / Elevar a cualquier potencia. [Batch] en: 9 Abril 2009, 22:59 pm
Código
  1. @echo off
  2. :code
  3. set /p "base=Numero : "
  4. if not defined base (goto:code)
  5. set /p "potencia=Potencia : "
  6. if not defined potencia (goto:code)
  7. :funcion
  8. set /a resultado=0
  9. if %potencia% equ 0 (
  10. rem Salimos
  11. exit /b 1
  12. ) else (
  13. set /a "resultado=%base%"
  14. for /l %%i in (2 1 %potencia%) do (
  15. set /a resultado=resultado * %base%
  16. )
  17. )
  18. echo.Resultado : %resultado%
  19. exit /b 0

Salida :
Código:
Numero : 2
Potencia : 4
Resultado : 16
Press any key...
Código:
Numero : 5
Potencia : 8
Resultado : 390625
Press any key...
Código:
Numero : 6
Potencia : 7
Resultado : 279936
Press any key...

Código
  1. @echo off
  2. if ["%1"]==[""] (goto:error)
  3. if ["%1"]==[""] (goto:error)
  4. set /a resultado=0
  5. if %2 equ 0 (
  6. rem Salimos
  7. exit /b 1
  8. ) else (
  9. set /a "resultado=%1"
  10. for /l %%i in (2 1 %2) do (
  11. set /a resultado=resultado * %1
  12. )
  13. )
  14. echo.Resultado : %resultado%
  15. exit /b 0
  16. :error
  17. echo %~nx0 Base Potencia&echo.
  18. echo.Leo Gutierrez R.
  19. exit /b 1
  20.  
Código:
C:\>code 2 3
Resultado : 8

C:\>codes 8 9
134217728

C:\>codes 5 6
15625

C:\>codes 2 3
8

C:\>codes 2 9
512

C:\>

Saludos, espero que les sirva.
2483  Programación / Ejercicios / Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos.... en: 9 Abril 2009, 21:11 pm
En Batch Script :
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set /p "numero=Numero : "
  5. if not defined numero (goto:code)
  6. if %numero% gtr 0 (
  7. if %numero% lss 100 (
  8. call:view %numero%
  9. goto:eof
  10. ) else (
  11. echo Mal.
  12. exit /b 1
  13. )
  14. )
  15. goto:eof
  16. :view
  17. set "numero=%1"
  18. set "numero2=%1"
  19. set /a "contador=0"
  20. :bucle
  21. if not defined numero (goto:end)
  22. set "numero=%numero:~1%"
  23. set /a "contador+=1"
  24. goto:bucle
  25. :end
  26. echo.%numero2% tiene %contador% digitos.
  27. set /a "contador-=1"
  28. echo.Invertido : %numero2:~-1%%numero2:~0,1%
  29. set /p ,=
  30. exit /b 0

Salida :

Código:
Numero : 73
73 tiene 2 digitos.
Invertido : 37
2484  Programación / Scripting / Re: Ayuda[VBS] en: 5 Abril 2009, 18:50 pm
Código:
Set correr = CreateObject("wscript.shell")
correr.Run "notepad", vbHide
2485  Programación / Scripting / Re: Filtro Anti- BatchInyection en: 5 Abril 2009, 05:05 am
Creo que así ya quedaría bien :
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set "name="
  5. set /p "name=Teclee su nombre : "
  6. if not defined name (goto:code)
  7. for /f "tokens=1* delims==" %%l in ('set name ^| findstr /r /i "^Name="') do (
  8. echo.Has escrito : %%m
  9. set "algo=%%m"
  10. goto :_123456789:
  11. )
  12. :_123456789:
  13. echo Variable asignada %%algo%% : !algo!
  14. goto:code

Saludos.
2486  Programación / Scripting / Re: Filtro Anti- BatchInyection en: 5 Abril 2009, 04:49 am
buen trabajo, lo que yo quise decir, es que lo intentarás sin:
!algo!
sino con:
%algo%

¿filtro?


Pues no le veo ningun problema en usar !! en ves de %% ya que no estoy usando ningun comando externo (.exe) a cmd.exe, es totalmente valido.

Saludos.
2487  Programación / Scripting / Re: Filtro Anti- BatchInyection en: 4 Abril 2009, 20:40 pm

Buen método Leo, yo ya había hecho uno, te desafío a que intentes asignar a una variable el contenido de %%_, si así lo haces, ya no hay filtración.

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set "name="
  5. set /p "name=Teclee su nombre : "
  6. if not defined name (goto:code)
  7. for /f "tokens=2 delims==" %%_ in ('set name') do (
  8. echo.Has escrito : %%_
  9. set "algo=%%_"
  10. goto :_123456789:
  11. )
  12. :_123456789:
  13. echo Variable asignada %%algo%% : !algo!
  14. goto:code

Salida :
Código:
Teclee su nombre : &cmd
Has escrito : &cmd
Variable asignada %algo% : &cmd
Teclee su nombre : &echo on
Has escrito : &echo on
Variable asignada %algo% : &echo on
Teclee su nombre : < > &cmd
Has escrito : < > &cmd
Variable asignada %algo% : < > &cmd
Teclee su nombre : |calc
Has escrito : |calc
Variable asignada %algo% : |calc
Teclee su nombre : |cmd
Has escrito : |cmd
Variable asignada %algo% : |cmd
Teclee su nombre : set|more
Has escrito : set|more
Variable asignada %algo% : set|more
Teclee su nombre : &goto:eof
Has escrito : &goto:eof
Variable asignada %algo% : &goto:eof
Teclee su nombre : &goto:eof^
Has escrito : &goto:eof^
Variable asignada %algo% : &goto:eof^
Teclee su nombre : %homepath%
Has escrito : %homepath%
Variable asignada %algo% : %homepath%
Teclee su nombre : ^CTeclee su nombre :
Teclee su nombre : ^C¿Desea terminar el trabajo por lotes (S/N)?
2488  Programación / Ejercicios / [Batch] Pedir numero y sumar digitos en: 4 Abril 2009, 19:55 pm
Pedir un numero al usuario y sumar sus digitos :
Código:
Numero : 36574
Digitos : 5
Suma de todos los digitos : 25
Press any key...
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. :: Creacion de variables :
  5. set /p "numero=Numero : "      // Esta variable ira disminuyendo
  6. if not defined numero (goto:code)
  7. set /a "contador=0"
  8. set "numero2=%numero%"
  9. set /a suma=0
  10. :bucle
  11. if not defined numero (goto:end)
  12. set "numero=%numero:~1%"
  13. set /a "contador+=1"
  14. goto:bucle
  15. :end
  16. echo.Digitos : %contador%
  17. set /a contador-=1
  18. for /l %%_ in (0 1 %contador%) do (
  19. set /a suma+=!numero2:~% style="color: #448888;">%_,1!
  20. )
  21. echo Suma de todos los digitos : %suma%
  22. goto:eof
2489  Programación / Scripting / Filtro Anti- BatchInyection en: 4 Abril 2009, 09:54 am
Código
  1. @echo off
  2. :code
  3. set "name="
  4. set /p "name=Teclee su nombre : "
  5. if not defined name (goto:code)
  6. for /f "tokens=2 delims==" %%_ in ('set name') do (
  7. echo.Has escrito : %%_
  8. )
  9. goto:code

La utilidad de esto es que podemos mostrar la informacion introducida por el usuario, sin temer por una inyeccion batch.

Funcionamiento :
Código:
Teclee su nombre : &cmd
Has escrito : &cmd
Teclee su nombre : &echo on
Has escrito : &echo on
Teclee su nombre : >
Has escrito : >
Teclee su nombre : <
Has escrito : <
Teclee su nombre : |
Has escrito : |
Teclee su nombre : * ? & < ^&cmd^
Has escrito : * ? & < ^&cmd^
Teclee su nombre : %homepath%
Has escrito : %homepath%
Teclee su nombre : set|more
Has escrito : set|more
Teclee su nombre : &echo on
Has escrito : &echo on
Teclee su nombre : &goto:Eof
Has escrito : &goto:Eof
Teclee su nombre : &goto:Eof^
Has escrito : &goto:Eof^
Teclee su nombre : |calc.exe
Has escrito : |calc.exe
Teclee su nombre :

PD : Al final del post esta la versión final.

Saludos.
2490  Programación / Scripting / Re: [BATCH] Bug comando for (eol) en: 1 Abril 2009, 17:25 pm
Una pena, yo pensé que la solución era eol=" cuando me avisaste  :-\

Tendremos que utilizar un caracter poco comun o no imprimible  :-\

Saludos.
Páginas: 1 ... 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 262 263 264 ... 279
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines