sound ausgeben - wait - schliessen (CMDBatch - VBS)
hi, ich möchte gerne für meinen FTP-Server die Events nutzen, d.h. ne externe datei soll aufgerufen werden.
Ich hab ne wav-datei, die dann abgespielt werden soll.
Wait.exe habe ich miteingebunden, für einen waitbefehl.
so sieht meine bat-datei aus:
problem is nur dass die dosbox mitaufgeht und der vlc player.
deshalb hab ich weiter geforscht und mich mal mit vbs probiert:
Online.bat:
Close.bat:
Problem dabei is jetzt nur, das man den vlc player sieht bzw. den Focus hat.
Weiss jemand Rat?
Am liebsten wäre mir auch nur eine VBS datei ohne zugriffe auf Bat dateien...
zuviel verschachtelungen sind ja nicht immer so übersichtlich.
mfg
Ich hab ne wav-datei, die dann abgespielt werden soll.
Wait.exe habe ich miteingebunden, für einen waitbefehl.
so sieht meine bat-datei aus:
Start C:\Programme\VideoLAN\VLC\vlc.exe "C:\Program Files\- x -\FTP-Events\Online\Online.wav"
WAIT 3 KEY
taskkill /f /im vlc.exe
problem is nur dass die dosbox mitaufgeht und der vlc player.
deshalb hab ich weiter geforscht und mich mal mit vbs probiert:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """Online\Online.bat""", 0, True
Set WshShell = Nothing
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """Online\Close.bat""", 0, True
Set WshShell = Nothing
Online.bat:
Start C:\Programme\VideoLAN\VLC\vlc.exe "C:\Program Files\- x -\FTP-Events\Online\Online.wav"
Close.bat:
WAIT 3 KEY
taskkill /f /im vlc.exe
Problem dabei is jetzt nur, das man den vlc player sieht bzw. den Focus hat.
Weiss jemand Rat?
Am liebsten wäre mir auch nur eine VBS datei ohne zugriffe auf Bat dateien...
zuviel verschachtelungen sind ja nicht immer so übersichtlich.
mfg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 97440
Url: https://administrator.de/forum/sound-ausgeben-wait-schliessen-cmdbatch-vbs-97440.html
Ausgedruckt am: 25.04.2025 um 17:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo whiteF2 und willkommen im Forum!
Wenn's tatsächlich nur .wav-Files sein sollen, sieh Dir einmal diesen "Scripting Guy"-Artikel an ...
Ansonsten könntest Du zumindest mit dem Parameter 7 anstelle von 0 beim "Run" in einem VBScript das Programmfenster des aufgerufenen Programmes minimieren, wie etwa in dieser Variante:
Grüße
bastla
Wenn's tatsächlich nur .wav-Files sein sollen, sieh Dir einmal diesen "Scripting Guy"-Artikel an ...
Ansonsten könntest Du zumindest mit dem Parameter 7 anstelle von 0 beim "Run" in einem VBScript das Programmfenster des aufgerufenen Programmes minimieren, wie etwa in dieser Variante:
WScript.CreateObject("WScript.Shell").Run "rundll32.exe %WINDIR%\System32\msdxm.ocx,RunDll /play /close ""D:\Sound\Nur ein Test.mp3""", 7, True
Grüße
bastla
@bastla
FULL ACK, wie der Lateiner sagt....
und um Dir, whiteF2, die von den Scripting Guys angegebene sndrec32 ein bissi schmackhafter zu machen, steuere ich einen weiteren undokumentierten Parameter bei, der alles noch einfacher macht.
Bitte teste am CMD-Prompt folgenden Aufruf
[...ggf. natürlich mit einer bei Dir existierenden *.wav-Datei]
Durch den /embedding-Parameter wird jegliches UI unterdrückt, das Programm verhält sich wie meine neue Wohnungsnachbarin (nicht zu sehen, aber deutlich zu hören).
Ein wartbarer Mehrzeiler analog bastlas Vorlage bzw. den ScriptingGuys wäre dann:
Grüße
Biber
FULL ACK, wie der Lateiner sagt....
und um Dir, whiteF2, die von den Scripting Guys angegebene sndrec32 ein bissi schmackhafter zu machen, steuere ich einen weiteren undokumentierten Parameter bei, der alles noch einfacher macht.
Bitte teste am CMD-Prompt folgenden Aufruf
sndrec32 /play /close /embedding "c:\WINDOWS\Media\Windows XP-Benachrichtigung.wav"
Durch den /embedding-Parameter wird jegliches UI unterdrückt, das Programm verhält sich wie meine neue Wohnungsnachbarin (nicht zu sehen, aber deutlich zu hören).
Ein wartbarer Mehrzeiler analog bastlas Vorlage bzw. den ScriptingGuys wäre dann:
strSoundFile = "c:\WINDOWS\Media\Windows XP-Benachrichtigung.wav"
strCmd ="sndrec32 /play /close /embedding " & chr(34) & strSoundFile & chr(34)
WScript.CreateObject("WScript.Shell").Run strcmd, 0, true
Grüße
Biber