BAT START已识别出命令

时间:2014-01-16 00:50:11

标签: batch-file command-line-arguments

我的最终目标是:

  • 拖动&将视频选择放到批处理文件
  • VLC以选择作为播放列表运行并在结束时关闭
  • GlovePIE同时加载并运行脚本
  • 计算机在VLC关闭时关闭
  • 用户可以用一个键取消关机(两个没问题)

我试图把它放在一起但它失败了...... GlovePIE语法不能用于START操作,但我不知道另一种方法同时运行这两个程序。我尝试制作一个运行VLC.bat和GlovePIE.bat的蝙蝠,但我不知道如何在Launcher.bat和VLC.bat之间传递变量。无论如何,把它作为一个单一的蝙蝠对我来说似乎是一个更好的主意......


到目前为止我所拥有的:

@echo off
if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" (
start "" "C:\Program Files\GlovePIE045Free\piefree.exe" -"C:\Program Files\GlovePIE045Free\CustomScripts\xbox360VLCremote.PIE" /tray
start /wait "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 vlc://quit
) else (goto :EOF)
taskkill /f /im piefree.exe
cls
choice /c CP /D P /T 120 /M "Waiting for 120 seconds: Press C to cancel shutdown, or P to power off now"
if errorlevel 2 shutdown -s

这正在正确加载GlovePIE,但没有注意到多个视频。

2 个答案:

答案 0 :(得分:1)

我无法测试,但我会尝试

start /wait "" "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %* vlc://quit

注意:额外的一对报价。这将设置START ed会话的标题,否则将使用第一个"quoted string"

%*表示allcommand-line arguments%10无效,只有%1..%9可用。 %10将被解释为%1并附加0


进一步思考:如果放在一个块(带括号的语句序列)中失败然后进行修改,重构代码,但你可以尝试

for /f "delims=" %%z in ("%*") do start /wait "" "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %%z vlc://quit

(理论:在传递的参数中有

答案 1 :(得分:0)

这是已完成且正在运行的代码。谢谢大家的帮助。

@echo off
if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" (
start "" "C:\Program Files\GlovePIE045Free\piefree.exe" -"C:\Program Files\GlovePIE045Free\CustomScripts\xbox360VLCremote.PIE" /tray
start /wait "" "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %* vlc://quit
) else (goto :EOF)
taskkill /f /im piefree.exe
cls
choice /c CP /D P /T 120 /M "Waiting for 120 seconds: Press C to cancel shutdown, or P to power off now"
if errorlevel 2 shutdown -s