对 Pattern 属性不认识,因此我使用了较落后的方法:
Set objHTML = CreateObject("htmlfile")
ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text")
strText=Split(ClipboardText,vbCrLf)
For Each strLine In strText
If Instr(strLine,"目的位置")>0 Then Exit For
Next
strPath=replace(strLine,"目的位置: ","")
Set Wmp = CreateObject("WMPlayer.ocx")
Wmp.Url = strPath
Wsh.Sleep 500
do Until Wmp.PlayState = 1
Wsh.Sleep 500
loop
批处理方式:
@echo off
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("clip.txt",2,true).writeline(clipboardData.GetData("text"))(window.close)
for /f "delims=" %%a in ('type clip.txt^|find "目的位置"') do set strline=%%~a
set strpath=%strline:目的位置: =%
del clip.txt
start "" "%strpath%"
把最下一句改成如下就可以后台播放:
start mshta vbscript:createobject("wscript.shell").run("""c:\program files\windows media player\wmplayer.exe"" ""%strpath%""",0)(window.close)
或生成临时文件(播放完会自我删除):
(
echo Set Wmp=CreateObject^("WMPlayer.ocx"^)
echo Wmp.Url="%strpath%"
echo Wsh.Sleep 500
echo do Until Wmp.PlayState=1
echo Wsh.Sleep 500
echo loop
echo CreateObject^("Scripting.FileSystemObject"^).GetFile^(WScript.ScriptFullName^).Delete
)>%temp%\wmp.vbs
start wscript.exe "%temp%\wmp.vbs"
Last edited by newxso on 2009-4-17 at 18:01 ]