despertador batch

Iniciado por Pirat3net, 7 Febrero 2012, 11:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net



bueno estoy haciendo un despertador pero tengo un problema,
como puedo crear X variables y que cada una de ellas almacene los nombres de los ficheros contenidos en el archivo en el que se encuentra el prompt?

EDITO: obviamente se me olvido al principio iria un echo introducir hora y la entrada al registro que tengo que buscar porque no me acuerdo cual era

Eleкtro

Cita de: Pirat3net en  7 Febrero 2012, 11:41 AM
como puedo crear X variables y que cada una de ellas almacene los nombres de los ficheros contenidos en el archivo en el que se encuentra el prompt?

Postea el script para verlo :P








Pirat3net

por ahora solo hay dos lineas, moverse a la carpeta llamada despertador lo primero, lo segundo es donde tengo duda, seria que identifique el numero de canciones que hay en la variable x, lo tercero que cree x variables y que cada variable almacene el nombre de cada cancion, lo cuarte que las reproduzca todas, no se me ocurre nada mas sencillo

Eleкtro

#3
Cita de: Pirat3net en  8 Febrero 2012, 17:02 PM
lo segundo es donde tengo duda, seria que identifique el numero de canciones que hay en la variable x

Los archivos están en una carpeta, o en la tal variable X?

y Porque no en una carpeta? sería más simple hacer lo que pides

La variable x como es? Numérica, o como?

X=3    ?

X=C:\archivo1.mp3C:\archivo2.mp3C:\archivo3.mp3     ?

Siguen siendo muy pocos datos XD.


Si tienes los mp3 en una carpeta, lo puedes hacer así:

Código (bash) [Seleccionar]
@Echo OFF
Setlocal enabledelayedexpansion

For /F "Tokens=*" %%# In ('Dir /B /S ".\Carpeta\*.mp3"') Do (
Set /A Num+=1
Set Song!Num!=%%#
)

Echo !Song1!
Echo !Song2!
Echo !Song3!
Echo !Song4!
Echo !Song5!

Pause



EDITO:
De todas formas, Para reproducir audio necesitarías usar algún reproductor commandline  (Mplayer.exe)

Creo que con el sndrec32.exe de Windows se puede tambien, pero yo no lo tengo xD.








Geormarsch

Cita de: EleKtro H@cker en  8 Febrero 2012, 18:17 PM
Los archivos están en una carpeta, o en la tal variable X?

y Porque no en una carpeta? sería más simple hacer lo que pides

La variable x como es? Numérica, o como?

X=3    ?

X=C:\archivo1.mp3C:\archivo2.mp3C:\archivo3.mp3     ?

Siguen siendo muy pocos datos XD.


Si tienes los mp3 en una carpeta, lo puedes hacer así:

Código (bash) [Seleccionar]
@Echo OFF
Setlocal enabledelayedexpansion

For /F "Tokens=*" %%# In ('Dir /B /S ".\Carpeta\*.mp3"') Do (
Set /A Num+=1
Set Song!Num!=%%#
)

Echo !Song1!
Echo !Song2!
Echo !Song3!
Echo !Song4!
Echo !Song5!

Pause



EDITO:
De todas formas, Para reproducir audio necesitarías usar algún reproductor commandline  (Mplayer.exe)

Creo que con el sndrec32.exe de Windows se puede tambien, pero yo no lo tengo xD.



NADA DE MPLAYER aqui....  :laugh:

Código (dos) [Seleccionar]


@echo off
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

REM By Geormarsch
Color a
Title Reproductor de musica
mode con cols=120 lines=13
REM No Borrar!!!
reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
cls

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:Menu_
cls
echo.
echo   ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ By Geormarsch ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
echo   ÛÛ                         
echo   ÛÛ%File%
echo   ÛÛ     
echo   ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ By Geormarsch ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
echo.
echo  1.   Seleccionar
echo  2.   Reproducir
echo  3.   Parar
echo.
Set /p Verificar= ^>^>
If %Verificar%==1 (Goto Abrir)
If %Verificar%==2 (Goto Repro)
If %Verificar%==3 (Goto Parar)
Goto Menu_

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:Abrir
REM NO MODIFICAR!
(
echo Dim DialogBox
echo Set DialogBox = CreateObject("UserAccounts.CommonDialog.1"^)
echo DialogBox.InitialDir = "%Windir%"
echo DialogBox.Filter = "Archivos de musica MP3,Wav,Mid|*.mp3;*.wav;*.mid"
echo DialogBox.ShowOpen
echo wscript.echo DialogBox.filename
)>%Windir%\CommonDialog.vbs

cscript /nologo %Windir%\CommonDialog.vbs>%Windir%\Ruta.txt
Set /p File=<"%Windir%\Ruta.txt"
goto Menu_

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:Repro
cls
REM NO MODIFICAR!
(
echo On Error Resume next
echo Set Sound = CreateObject("WMPlayer.OCX"^)
echo Sound.URL = "%File%"
echo Sound.Controls.play
echo if err.number = 0 then
echo do while Sound.currentmedia.duration = 0
echo wscript.sleep 100
echo loop
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
echo else
echo if len("%file%"^) ^< 2  then
echo msgbox "No se ha seleccionado ningun archivo ", vbinformation, "."
echo else
echo msgbox "No es posible reproducir el archivo " ^& "%file%", vbinformation, "."
echo end if
echo end if
)>%Windir%\Sound.vbs
cd %Windir%
start Sound.vbs
Goto Menu_

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:Parar
cls
Taskkill /F /IM wscript.exe
cd %Windir%
del /f /q Sound.vbs
del /f /q Ruta.txt
Set "File="
goto menu_

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

Eleкtro

#5
Cita de: geormarsch en  8 Febrero 2012, 18:28 PM
NADA DE MPLAYER aqui....  :laugh:
Código (dos) [Seleccionar]

:Repro
echo On Error Resume next
echo Set Sound = CreateObject("WMPlayer.OCX"^)
echo Sound.URL = "%File%"
echo Sound.Controls.play

LOL, De donde as sacado ese code Geor??? xD

Muy bueno, Pero de todas formas usa una OCX

Supongo que abre una pestaña del Internet Explorer con una ventana del WMP ??

Entonces si no dispones de Windows media player + Internet Explorer no funciona :xD

No puedo probarlo :(  ¿Que hace ese code de VBS?








Geormarsch

Te Abre esta Ventana ......... Se me habia olvidado comentarte



Código (dos) [Seleccionar]

@echo off
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:Crear_Examinar
(
echo Dim DialogBox
echo Set DialogBox = CreateObject("UserAccounts.CommonDialog.1"^)
echo DialogBox.InitialDir = "%Windir%"
echo DialogBox.Filter = "Archivos de musica MP3,Wav,Mid|*.mp3;*.wav;*.mid"
echo DialogBox.ShowOpen
echo wscript.echo DialogBox.filename
)>%Windir%\CommonDialog.vbs

cscript /nologo %Windir%\CommonDialog.vbs>%Windir%\Ruta.txt
Set /p File=<"%Windir%\Ruta.txt"
Goto Ruta

:Ruta
cls
echo La ruta es%File%
pause >nul


Es algo asi mas o menos el code

LO PROBE EN WIN XP
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

Eleкtro

Yo me referia al VBS del WindowsMediaPlayer xD








Geormarsch

Cita de: EleKtro H@cker en  8 Febrero 2012, 19:40 PM
Yo me referia al VBS del WindowsMediaPlayer xD

Lo que hace es Reproducir la cancion seleccionada....
En modo oculto... solo se ve el batch
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

Pirat3net

#9
muchisimas gracias por los scripts pero son muy complicados para mi, seguro funcionan a la perfeccion pero en muchas partes no entiendo lo que hace el codigo pues desconozco algunas funciones y llamadas que hacen, les pondre lo que he hecho a ver si me tienden una mano a este code de mi nivel de batch xD
Código (dos) [Seleccionar]
@echo off


:menu
echo 1.seleccionar hora entre semana
echo 2.seleccionar hora fines semana

echo 3.desactivar despertador

set /p opcion

if opcion<=2 goto :hora
if opcion==3 goto :desactivar

:hora
echo introduzca hora con dos digitos
set/p x
echo introduzca los minutos con dos digitos
set/p y
if opcion==1 at x:y /every:m,t,w,th,f start despertador2.bat
if opcion==2 at X:y /every:sa,su start despertador2.bat

:desactivar
at /delete



MODFICO solo me queda que despertador2.bat valla a la ruta c:\xxxxx\xxxxx\xxxxx(constante) y reproduzca los mp3 de dentro unos detras de otros, alguien me podria decir como hacer para que reproduzca los mp3 de la carpeta en la que esta?



muchisimas gracias por el interes