1

我试图简单地使用批处理文件全屏打开视频,我意识到这是不可能的,所以我包含了代码以使其写入 vbscript,然后再执行 vbscript 代码。

我正在运行 Windows 10,并且我有另一个运行正常的 mp3 文件的脚本。

这是我的批处理文件正在写入 vbscript

set "file2=res\FORTNITESKINS.mp4"
( echo Set wmp = CreateObject("WMPlayer.OCX"^)
  echo Video.URL = "%file2%"
  echo Video.Controls.play
  echo do while Video.currentmedia.duration = 0
  echo wscript.sleep 100
  echo loop
  echo wscript.sleep (int(Video.currentmedia.duration^)+1^)*1000
  echo set WshShell = WScript.CreateObject("WScript.Shell"^)
  echo WScript.Sleep 1000
  echo WshShell.SendKeys "%{ENTER}") >video.vbs

这就是我执行 vbscript 的方式

start video.vbs

视频打不开,只有音频播放,wmplayer最小化打不开,在任务管理器里也找不到。

这个我也试过了

set "file2=res\FORTNITESKINS.mp4"
( echo Set Video = CreateObject("WMPlayer.OCX"^)
  echo Video.openPlayer("%file2%"^)
  echo set WshShell = WScript.CreateObject("WScript.Shell"^)
  echo WScript.Sleep 1000
  echo WshShell.SendKeys "%{ENTER}") >video.vbs

但它给出了错误:

Line: 2
Char: 1
Error: 0xC00D1329
Code: C00D1329
Source: (null)
4

2 回答 2

2

为什么不直接使用 wmplayer 和适当的命令行参数

@Echo off
set "file2=res\FORTNITESKINS.mp4"
set wmplayer="%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe" /prefetch:1

%wmplayer% "%file2%" /fullscreen
于 2019-04-15T10:40:18.780 回答
0

你可以像这个例子那样做:

@echo off
Mode 70,3 & color 0B
echo(
Set "Title=Playing videos with Windows Media Player"
Title %Title%
echo              %Title%
Set "URL-FILE=http://1290922571.rsc.cdn77.org/movies/Superman-Unbound-2013-FRENCH.mp4/playlist.m3u8"
Start "%Title%" wmplayer /fullscreen "%URL-FILE%"
Timeout /T 2 /NoBreak>nul

编辑 :

@echo off
Mode 70,3 & color 0B
echo(
Set "Title=Playing videos with Windows Media Player"
Title %Title%
echo              %Title%
Set vbs_video=%temp%\vbs_video.vbs
Set video=http://1290922571.rsc.cdn77.org/movies/Superman-Unbound-2013-FRENCH.mp4/playlist.m3u8
Call :Play %video%
Timeout /T 2 /NoBreak>nul & Exit
REM ***************************************
:Play <video>
(
    echo Set Video = CreateObject("WMPlayer.OCX"^)
    echo Video.openPlayer("%~1"^)
    echo set WshShell = CreateObject("WScript.Shell"^)
    echo WScript.Sleep 3000
    echo WshShell.SendKeys "%%{ENTER}"
)>"%vbs_video%"
Start "video" "%vbs_video%"
exit /b
REM ***************************************
于 2019-04-15T23:20:21.207 回答