2014-10-10 24 views
1

我試圖做一個簡單的腳本,我只希望我的腳本的一部分在後臺運行。我想在後臺運行Windows Media Player。一般來說,我是Powerhell和腳本的全新人物,整整一天半的時間都在我的腰包下。有人可以幫我解釋一下,並用基本的術語解釋啓動工作如何與調用項目一起工作。感謝您提供任何幫助。有問題在PowerShell中運行Windows Media Player中的簡單腳本

這是我的原始腳本。我想發佈一個簡報,讓我的媒體播放器在我加載後出現一點點。我意識到我可以用Powerpoint做到這一點,但我正在使用它來嘗試和學習。我得到了這個工作:

#Call SSD 
$MusicPath = "C:\powershell\Windows_Exclamation.wav"  
$Powerpoint = "C:\powershell\SSD.ppsx"  
invoke-item $Powerpoint  
start-sleep -s 3  
invoke-item $MusicPath 

我想讓媒體播放器在後臺運行。這是我的腳本到目前爲止:

#Call SSD 
$MusicPath = "C:\powershell\Windows_Exclamation.wav"  
$Powerpoint = "C:\powershell\SSD.pptx"  
invoke-item $Powerpoint  
start-sleep -s 3  
start-job -scriptblock {invoke-item} $MusicPath 

我應該使用invoke命令還是我只是在這裏失去了醬?

回答

1

我會使用media.soundplayer對象。

$MusicPath = "C:\Windows\Media\Windows Exclamation.wav"  
Function PlayWav($path){(new-object Media.SoundPlayer "$path").play();} 
PlayWav -Path "$MusicPath" 
+0

爲什麼要使用media.soundplayer對象?以這種方式使用它與我書寫方式相反的好處是什麼? – 2014-10-11 04:23:28

+0

@ mikeszokola因爲當我ii調用項目時,它會在前臺打開我的媒體播放器應用程序。這種方法在不可見的背景下運行。即聽說沒有看到。 – 2014-10-11 12:55:58

+0

我完全按照書面形式嘗試過,沒有運氣。 $路徑是否需要被識別爲一個變量,或者我想我正在試圖理解的是它究竟是什麼。我感謝你的幫助,我希望我能感激你。我只是想更好地理解這一切。再次感謝你。 – 2014-10-11 15:13:37