2014-10-10 23 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