iTunes,在该退出警告消息,由于脚本
写在PowerShell中下面作为一个快速的iTunes演示:iTunes,在该退出警告消息,由于脚本
$iTunes = New-Object -ComObject iTunes.Application
$LibrarySource = $iTunes.LibrarySource
foreach ($PList in $LibrarySource.Playlists)
{
write-host $PList.name
}
这种运作良好,并拉回到播放列表名称的列表。 但是在试图关闭iTunes时出现警告
一个或多个应用程序正在使用iTunes脚本界面。你确定你要退出吗?
很显然,我可以忽略该消息,然后按[退出]或等待20秒左右,但有没有一种干净的方式告诉iTunes我已经完成了它的工作?
Itunes 7.7.1, Windows XP
下面是我在PowerShell脚本中添加播客到iTunes的一件事。我在服务器上使用Juice来下载我听的所有播客。该脚本使用.Net方法来释放COM对象。当我编写我的iTunes脚本时,我已阅读了几篇文章,声明您应该使用.NET释放您的COM对象。
[void][System.Runtime.InteropServices.Marshal]::ReleaseComObject([System.__ComObject]$LibrarySource)
[void][System.Runtime.InteropServices.Marshal]::ReleaseComObject([System.__ComObject]$iTunes)
我也在大多数时间从快捷方式运行我的脚本,而不是从powershell提示符运行。
根据您的意见,我做了一些测试,并确定我会在运行iTunes时收到消息,如果我以使PowerShell运行的方式运行我的脚本。 iTunes似乎跟踪了这一点。以运行后退出处理的方式运行脚本,消除该消息。
从powershell运行脚本的一种方法是使用powershell为脚本添加前缀。
powershell .\scriptname.ps1
上面的命令将启动脚本,然后退出这是用来运行它的进程,但仍让你在PowerShell提示符。
不幸的是,我不工作。我已经尝试多次打开和关闭iTunes,以确保没有其他人试图使用iTunes,然后使用上面的行来运行我的脚本,并退出相同的结果。 – 2008-09-09 16:42:53
我每天都在使用我的脚本,但我没有收到那条消息。你有没有其他的工具可以访问iTunes?您是否使用任何其他iTunes对象?也许你需要重新启动才能清理它,一旦你得到这个消息? – bruceatk 2008-09-09 17:04:32
您应该可以将$ itunes设置为$ null。或者,$ iTunes应该有一个可以调用的退出方法。 $ itunes.quit()
PowersHell - 我喜欢它:) – samjudson 2008-09-10 13:22:37