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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11
31  Programación / Scripting / Re: Convención sobre codificación Batch en: 9 Agosto 2010, 23:54 pm
Es una buena idea, pero si bien ayuda a otros programadores a entender, acorta la libertad del que crea el code, acordándose al mismo tiempo lo que tiene que trabajar el code con lo que tiene que escribir para su comprensión.
A mi gusto sugeriría mas el uso de comentarios en el bat

Código:
rem comentario
::comentario

explicando el funcionamiento del mismo. Salu2.
32  Programación / Scripting / Re: (BATCH) Tomar valor de una lista en: 9 Agosto 2010, 23:35 pm
Yo lo haria asi...

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :buscarnumero
  4. set num=0
  5. set /a num=%random:~3,1%
  6. if %num% geq 2 (if %num% leq 9 (goto :sig))
  7. goto :buscarnumero
  8. :sig
  9. set /a nume=%num%-1
  10. set a=0
  11. for /f "skip=%nume% delims=" %%a in ('type "preguntas.txt"') do (
  12. if !a!==0 (
  13. set preg=%%a
  14. set a=1))
  15. set b=0
  16. for /f "skip=%nume% delims=" %%a in ('type "respuestas.txt"') do (
  17. if !b!==0 (
  18. set rta=%%a
  19. set b=1))
  20. set c=0
  21. for /f "skip=%nume% delims=" %%a in ('type "respuestas2.txt"') do (
  22. if !c!==0 (
  23. set rta2=%%a
  24. set c=1))
  25. set d=0
  26. for /f "skip=%nume% delims=" %%a in ('type "respuestas3.txt"') do (
  27. if !d!==0 (
  28. set rta3=%%a
  29. set d=1))
  30. echo Pregunta %num%
  31. echo %preg%
  32. echo Escriba Respuesta:
  33. set /p resp=
  34. set comp=0
  35. if "%resp%"=="%rta%" (set comp=1)
  36. if "%resp%"=="%rta2%" (set comp=1)
  37. if "%resp%"=="%rta3%" (set comp=1)
  38. if %comp%==1 (echo Correcto) else (echo Incorrecto)
  39. pause>nul
  40.  
Necesitarias dos txt mas el respuestas2.txt y el respuestas3.txt con las respectivas posibles respuestas.
Salu2.
33  Programación / Scripting / Re: (BATCH) Tomar valor de una lista en: 9 Agosto 2010, 19:34 pm
A mi me anda en code  :-\, igual aca hago una corrección
en esta parte
Citar
Código
  1. if %resp%==%rta% (echo Correcto) else (echo Incorrecto)
  2.  
corrijo...
Código
  1. if "%resp%"=="%rta%" (echo Correcto) else (echo Incorrecto)
  2.  
Ya que si es una oracion la respuesta, antes al tener espacio mandaba error y terminaba el bat.
Y con respecto a que te aparece incorrecto, quizas es que no estas escribiendo la respuesta en forma textual, osea igual que como esta en el txt.
A que te referis con que te saca dos vaces la pregunta?
34  Programación / Scripting / Re: (BATCH) Tomar valor de una lista en: 9 Agosto 2010, 02:53 am
Aca tome a random un valor de una cifra y adelante una condicion para que el random no sobrepase el numero de preguntas, en el ejemplo preguntas.txt son las preguntas y respuestas.txt son las respuestas y son en total 9 preguntas.

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :buscarnumero
  4. set num=0
  5. set /a num=%random:~3,1%
  6. if %num% geq 2 (if %num% leq 9 (goto :sig))
  7. goto :buscarnumero
  8. :sig
  9. set /a nume=%num%-1
  10. set a=0
  11. for /f "skip=%nume% delims=" %%a in ('type "preguntas.txt"') do (
  12. if !a!==0 (
  13. set preg=%%a
  14. set a=1))
  15. set b=0
  16. for /f "skip=%nume% delims=" %%a in ('type "respuestas.txt"') do (
  17. if !b!==0 (
  18. set rta=%%a
  19. set b=1))
  20. echo Pregunta %num%
  21. echo %preg%
  22. echo Escriba Respuesta:
  23. set /p resp=
  24. if %resp%==%rta% (echo Correcto) else (echo Incorrecto)
  25. pause>nul
  26.  
Salu2.
35  Foros Generales / Dudas Generales / Re: Espacio en disco en: 6 Agosto 2010, 06:42 am
De la misma manera que el limpiador pega esto en el bloc de notas

Código
  1. @echo off
  2. title Borrar historial del MSN por MAXX93
  3. ::Borra el historial del msn si esta el plus instalado
  4. taskkill /f /im msnmsgr.exe
  5. set error=%errorlevel%
  6. ping -n 5 localhost>nul
  7. rd /s /q "%homedrive%%homepath%\Mis Documentos\mishis~2"
  8. msg * Historiales borrados
  9. if %error%==0 (msnmsgr.exe)
  10.  

guardalo como historial.bat, y dale doble click en el archivo.
Esto cerrara el msn, borrara el historial de todas tus conversaciones y abrira el msn de vuelta si lo tenias abierto. Salu2
36  Foros Generales / Dudas Generales / Re: Espacio en disco en: 6 Agosto 2010, 03:07 am
Ya que tienes poco espacio en disco... lo que puedes hacer es ir al bloc de notas, si no sabes como entrar Inicio>Ejecutar>notepad
En el bloc de notas pega esto...

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title Limpiador de PC por MAXX93
  4. ::borra acceso directo a archivos recientes, cookies, historial y archivos temporales
  5. del /f /s /q "%homedrive%%homepath%\Cookies\*.*"
  6. del /f /s /q "%homedrive%%homepath%\Config~1\Historial\History.IE*\*.*"
  7. rd "%homedrive%%homepath%\Config~1\Historial\History.IE*\*.*"
  8. for /f "delims=" %%a in ('dir /a:- /b "%homedrive%%homepath%\Config~1\Archiv~1"' ) do (
  9. del /f /s /q "%homedrive%%homepath%\Config~1\Archiv~1\%%a\*.*"
  10. for /f "delims=" %%b in ('dir /a:- /b "%homedrive%%homepath%\Config~1\Archiv~1\%%a\%%b"' ) do (
  11. del /f /s /q "%homedrive%%homepath%\Config~1\Archiv~1\%%a\%%b\*.*"
  12. for /f "delims=" %%c in ('dir /a:- /b "%homedrive%%homepath%\Config~1\Archiv~1\%%a\%%b"' ) do (
  13. del /f /s /q "%homedrive%%homepath%\Config~1\Archiv~1\%%a\%%b\%%c\*.*"
  14. )))
  15. del /f /s /q "%homedrive%%homepath%\Recent\*.*"
  16. del /f /s /q "%windir%\system32\wbem\logs\*.*"
  17. del /f /s /q "%temp%\*.*"
  18. del /f /s /q "%windir%\temp\*.*"
  19. set num=0
  20. for /f "delims=" %%a in ('dir /a:- /b "%homedrive%\Recycler"') do (
  21. for /f "delims=" %%b in ('dir /a:- /b "%homedrive%\Recycler\%%a"') do (
  22. if "%%b" neq "INFO2" (if "%%b" neq "desktop.ini" (del /f /s /q "%homedrive%\Recycler\%%a\%%b"&rd /s /q "%homedrive%\Recycler\%%a\%%b"&set /a num=!num!+1))))
  23. if %num% neq 0 (reg add "HKEY_USERS\S-1-5-21-1708537768-448539723-725345543-500\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon" /ve /t Reg_Expand_Sz /d "%%SystemRoot%%\System32\shell32.dll,31" /f)
  24. msg * PC Limpiada!
  25.  

y guardalo como limpiador.bat, en donde te quede mas comodo, despues vas y buscas el archivo en donde lo guardaste y le das doble clic, eso borrara varios archivos temporales y te dara un poco mas de espacio en disco.
Salu2.
37  Programación / Scripting / Re: [Batch] Conversor de Hexadecimal a Decimal en: 6 Agosto 2010, 01:07 am
 :o no sabia que se podia hacer asi jajaja :laugh:
38  Programación / Scripting / Re: Duda con variables en batch en: 5 Agosto 2010, 07:35 am
Muchisimas gracias Leo  :). Salu2.
39  Programación / Scripting / [Batch] Conversor de Hexadecimal a Decimal en: 5 Agosto 2010, 06:08 am
Hola amigos, he creado un conversor de hexadecimal a decimal. Espero que les guste :)
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set num=%1
  4. if x%num%x==xx (goto :ayuda)
  5. if x%num:~0,1%%num:~-1%x neq x""x (goto :ayuda)
  6. set num=%num:~1,-1%
  7. set hex=%num%
  8. :cantidad
  9. set rep=-1
  10. set cuenta=1
  11. set fin=0
  12. set num=##%num%
  13. set verif=0
  14. :repetir
  15. set let=%num:~-1%
  16. if %let%==# (goto :fin)
  17. set /a rep=%rep%+1
  18. for /l %%a in (1,1,%rep%) do (set cuenta=!cuenta!*16)
  19. if %verif%==0 (set verif=1&set cuenta=1)
  20. if %let%==A (set let=10)
  21. if %let%==a (set let=10)
  22. if %let%==B (set let=11)
  23. if %let%==b (set let=11)
  24. if %let%==C (set let=12)
  25. if %let%==c (set let=12)
  26. if %let%==D (set let=13)
  27. if %let%==d (set let=13)
  28. if %let%==E (set let=14)
  29. if %let%==e (set let=14)
  30. if %let%==F (set let=15)
  31. if %let%==f (set let=15)
  32. set /a cuenta=%cuenta%
  33. set /a val=%let%*%cuenta%
  34. set /a fin=%val%+%fin%
  35. set num=%num:~0,-1%
  36. set cuenta=1
  37. goto :repetir
  38.  
  39. :fin
  40. echo %fin%
  41. echo %fin%>"HexaDec-Temp"
  42. pushd %temp%
  43. set cd=%2
  44. if x%cd%x==xx (set var=##)
  45. if x%cd:~0,1%%cd:~-1%x==x""x (
  46. for /f "delims=" %%a in ('type "%~p0\HexaDec-Temp"') do (
  47. set %cd:~1,-1%=%%a))
  48. del "%~p0\HexaDec-Temp"
  49. goto:eof
  50.  
  51. :ayuda
  52. echo HexaDec Convierte numeros hexadecimales a decimales
  53. echo Creado por MAXX93
  54. echo Sintaxis:
  55. echo HexaDec "valor" "variable"
  56. echo  Valor     Numero hexadecimal
  57. echo  Variable  Opcional permite guardar el resultado en una variable
  58. echo Ej.:
  59. echo HexaDec "309"
  60. echo HexaDec "309" "dec"
  61. goto:eof
  62.  

Salu2.
40  Programación / Scripting / [Batch] Conversor de Decimal a Hexadecimal en: 5 Agosto 2010, 06:08 am
Hola amigos, he creado un conversor de decimal a hexadecimal. Espero que les guste :)

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set num=%1
  4. if x%num%x==xx (goto :ayuda)
  5. if x%num:~0,1%%num:~-1%x neq x""x (goto :ayuda)
  6. set /a num=%num%
  7. set dec=%num%
  8. set s=#
  9. set a=0
  10. set cant=%dec%
  11. set c=0
  12. :cantidad
  13. set /a cant=%cant%/16
  14. set /a a=%a%+1
  15. if %cant% geq 16 (goto :cantidad)
  16. set /a a=%a%+1
  17. for /l %%a in (1,1,%a%) do (
  18. if !num! geq 16 (
  19. set /a a=!num!/16
  20. set cant=!a!
  21. set /a a=!num!-16*!a!
  22. set num=!cant!
  23. if !a!==10 (set a=A)
  24. if !a!==11 (set a=B)
  25. if !a!==12 (set a=C)
  26. if !a!==13 (set a=D)
  27. if !a!==14 (set a=E)
  28. if !a!==15 (set a=F)
  29. set s=!a!!s!
  30. ) else (
  31. if !c!==0 (
  32. set c=1
  33. set a=!num!
  34. if !a!==10 (set a=A)
  35. if !a!==11 (set a=B)
  36. if !a!==12 (set a=C)
  37. if !a!==13 (set a=D)
  38. if !a!==14 (set a=E)
  39. if !a!==15 (set a=F)
  40. set s=!a!!s!)))
  41. echo %s:~0,-1%
  42. echo %s:~0,-1%>"DecaHex-Temp"
  43. pushd %temp%
  44. set cd=%2
  45. if x%cd%x==xx (set var=##)
  46. if x%cd:~0,1%%cd:~-1%x==x""x (
  47. for /f "delims=" %%a in ('type "%~p0\DecaHex-Temp"') do (
  48. set %cd:~1,-1%=%%a))
  49. del "%~p0\DecaHex-Temp"
  50. goto:eof
  51.  
  52. :ayuda
  53. echo DecaHex Convierte numeros decimales a hexadecimales
  54. echo Creado por MAXX93
  55. echo Sintaxis:
  56. echo DecaHex "valor" "variable"
  57. echo  Valor     Numero decimal o Calculo combinado (No acepta division)
  58. echo  Variable  Guarda la conversion en una variable (Opcional)
  59. echo Ej.:
  60. echo DecaHex "777"
  61. echo DecaHex "777" "hex"
  62. goto:eof
  63.  

Salu2.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines