Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: yopcool en 29 Octubre 2011, 02:11 am



Título: Batch + Diskettera = Música
Publicado por: yopcool en 29 Octubre 2011, 02:11 am
Hola!

Me di cuenta hace poco, que en mi vieja Pentium 3 que estoy 'restaurando', cuando intento acceder a la unidad de diskettes, y no hay ningún diskette dentro, la diskettera hace un sonido (como intentando 'leer' el diskette que no está).

Y me pregunté, no habrá algún comando en Batch para 'intentar leer la diskettera', de tal manera que pueda hacer música con ella?

Estilo...

sonido
<sleep>
sonido
sonido
sonido
<sleep>
sonido
<sleep>


Algo así... Poner simplemente 'a:' en el símbolo del sistema funciona para hacerla sonar, pero me tira un cartel que dice que no se pudo leer,  y que presione reintentar o cancelar, etc...


Gracias.


Título: Re: Batch + Diskettera = Música
Publicado por: Geormarsch en 29 Octubre 2011, 03:46 am
Podrias generar un bucle...
pero el problema es lo que te pregunta reintentar/cancelar

Código
  1. @echo off
  2. :bucle
  3. cd A:\
  4. goto bucle
  5.  


Título: Re: Batch + Diskettera = Música
Publicado por: yopcool en 29 Octubre 2011, 04:05 am
Gracias por responder!


Estuve viendo como hacer sonar el beep interno, bastante fácil, con echo <Ctrl P> <Ctrl G> en el editor Edit (por si alguien que no supiera esté leyendo esto!).

Pero me gustaría 'mezclarla' con el sonido de la disquetera para tener 2 ritmos diferentes, como 2 instrumentos :).

Toda ayuda es bien recibida.

Edit: Estaba pensando en que, tal como el sonido del beep es Ctrl G, o Alt 7 (séptimo lugar en la tabla ascii) podría usar un comando ascii como el 24 que es cancel o el Alt 27 que es escape, pero la ventana esa que aparece diciendome 'reintentar' o 'cancelar' nisiquiera está focuseada! Así que no sirve de nada hacer eso, creo...


Título: Re: Batch + Diskettera = Música
Publicado por: Grave en 29 Octubre 2011, 04:33 am
que al pedo estas  :xD


Título: Re: Batch + Diskettera = Música
Publicado por: Geormarsch en 29 Octubre 2011, 04:34 am
Man En Mi Escuela, Son computadores Fiscales y si yo presiono repetidamente el shift muchas veces, Me Aparece una ventana sin tocar nada presiono enter y luego presiono shift y suena un Beep si lo presiono denuevo suena denuevo y asi hasta que para de sonar, para volverr a escuchar ese ruido se repite todo denuevo.

PD: En mi computador no funciona


Título: Re: Batch + Diskettera = Música
Publicado por: leogtz en 29 Octubre 2011, 06:51 am
¿Y si mejor creas música como tal?

Código
  1. @ECHO OFF
  2. ::MUSIC.BAT
  3. ::LEO GUTIERREZ .. ROCKOX
  4. ;IF /I ["%1"]==[""] (;GOTO:SYNTAX)
  5. ;IF /I ["%1"]==["-H"] (;GOTO:SYNTAX)
  6. ;IF /I ["%1"]==["/?"] (;GOTO:SYNTAX)
  7. :NOTAS
  8. ;IF /I ["%2"]==[""] (;GOTO:SYNTAX)
  9. ;IF %2 GTR 3 (
  10. ;ECHO.NUMERO DE ESCALA DEMASIADO ALTO!. & ECHO:
  11. ;GOTO:SYNTAX
  12. )
  13. ;IF %2 LSS 1 (
  14. ;ECHO.NUMERO DE ESCALA DEMASIADO BAJO!. & ECHO:
  15. ;GOTO:SYNTAX
  16. )
  17. ;IF %2 EQU 1 (
  18. ;IF /I ["%1"]==["C"] (NIRCMD BEEP 262 600 & GOTO:EOF)
  19. ;IF /I ["%1"]==["C#"] (NIRCMD BEEP 277 600 & GOTO:EOF)
  20. ;IF /I ["%1"]==["D"] (NIRCMD BEEP 294 600 & GOTO:EOF)
  21. ;IF /I ["%1"]==["D#"] (NIRCMD BEEP 311 600 & GOTO:EOF)
  22. ;IF /I ["%1"]==["E"] (NIRCMD BEEP 330 600 & GOTO:EOF)
  23. ;IF /I ["%1"]==["F"] (NIRCMD BEEP 350 600 & GOTO:EOF)
  24. ;IF /I ["%1"]==["F#"] (NIRCMD BEEP 370 600 & GOTO:EOF)
  25. ;IF /I ["%1"]==["G"] (NIRCMD BEEP 393 600 & GOTO:EOF)
  26. ;IF /I ["%1"]==["G#"] (NIRCMD BEEP 416 600 & GOTO:EOF)
  27. ;IF /I ["%1"]==["A"] (NIRCMD BEEP 440 600 & GOTO:EOF)
  28. ;IF /I ["%1"]==["A#"] (NIRCMD BEEP 466 600 & GOTO:EOF)
  29. ;IF /I ["%1"]==["B"] (NIRCMD BEEP 494 600 & GOTO:EOF)
  30. )
  31. ;IF %2 EQU 2 (
  32. ;IF /I ["%1"]==["C"] (NIRCMD BEEP 525 600 & GOTO:EOF)
  33. ;IF /I ["%1"]==["C#"] (NIRCMD BEEP 555 600 & GOTO:EOF)
  34. ;IF /I ["%1"]==["D"] (NIRCMD BEEP 590 600 & GOTO:EOF)
  35. ;IF /I ["%1"]==["D#"] (NIRCMD BEEP 623 600 & GOTO:EOF)
  36. ;IF /I ["%1"]==["E"] (NIRCMD BEEP 660 600 & GOTO:EOF)
  37. ;IF /I ["%1"]==["F"] (NIRCMD BEEP 699 600 & GOTO:EOF)
  38. ;IF /I ["%1"]==["F#"] (NIRCMD BEEP 740 600 & GOTO:EOF)
  39. ;IF /I ["%1"]==["G"] (NIRCMD BEEP 784 600 & GOTO:EOF)
  40. ;IF /I ["%1"]==["G#"] (NIRCMD BEEP 830 600 & GOTO:EOF)
  41. ;IF /I ["%1"]==["A"] (NIRCMD BEEP 880 600 & GOTO:EOF)
  42. ;IF /I ["%1"]==["A#"] (NIRCMD BEEP 930 600 & GOTO:EOF)
  43. ;IF /I ["%1"]==["B"] (NIRCMD BEEP 990 600 & GOTO:EOF)
  44. )
  45. ;IF %2 EQU 3 (
  46. ;IF /I ["%1"]==["C"] (NIRCMD BEEP 1048 600 & GOTO:EOF)
  47. ;IF /I ["%1"]==["C#"] (NIRCMD BEEP 1110 600 & GOTO:EOF)
  48. ;IF /I ["%1"]==["D"] (NIRCMD BEEP 1176 600 & GOTO:EOF)
  49. ;IF /I ["%1"]==["D#"] (NIRCMD BEEP 1246 600 & GOTO:EOF)
  50. ;IF /I ["%1"]==["E"] (NIRCMD BEEP 1320 600 & GOTO:EOF)
  51. ;IF /I ["%1"]==["F"] (NIRCMD BEEP 1395 600 & GOTO:EOF)
  52. ;IF /I ["%1"]==["F#"] (NIRCMD BEEP 1480 600 & GOTO:EOF)
  53. ;IF /I ["%1"]==["G"] (NIRCMD BEEP 1569 600 & GOTO:EOF)
  54. ;IF /I ["%1"]==["G#"] (NIRCMD BEEP 1660 600 & GOTO:EOF)
  55. ;IF /I ["%1"]==["A"] (NIRCMD BEEP 1764 600 & GOTO:EOF)
  56. ;IF /I ["%1"]==["A#"] (NIRCMD BEEP 1880 600 & GOTO:EOF)
  57. ;IF /I ["%1"]==["B"] (NIRCMD BEEP 1980 600 & GOTO:EOF)
  58. )
  59. :SYNTAX
  60. ;ECHO:%~NX0 
  61. ;ECHO:
  62. ;ECHO:MODO DE USO :
  63. ;ECHO:
  64. ;ECHO:%~NX0 [-NOTA] [#] [1-3]
  65. ;ECHO:
  66. ;ECHO:LAS SIGUIENTES NOTAS ESTAN DISPONIBLES:
  67. ;ECHO:C : DO 
  68. ;ECHO:D : RE 
  69. ;ECHO:E : MI 
  70. ;ECHO:F : FA 
  71. ;ECHO:G : SOL 
  72. ;ECHO:A : LA 
  73. ;ECHO:B : SI 
  74. ;ECHO:
  75. ;ECHO:# : ALTERACION SOSTENIDO.
  76. ;ECHO:[1-3] : Numero de escala.
  77. ;ECHO:
  78. ;ECHO:EJEMPLOS:
  79. ;ECHO:%~NX0 C 2
  80. ;ECHO:%~NX0 G# 3
  81. GOTO:EOF

Se requiere de nircmd.exe:
http://www.nirsoft.net/utils/nircmd.zip (http://www.nirsoft.net/utils/nircmd.zip)