【问题标题】:Batch Script - Export text file with infomraiton inside批处理脚本 - 导出包含信息的文本文件
【发布时间】:2013-03-15 20:42:42
【问题描述】:

我们正在为视频服务器使用 RMTP,但是我们必须为每个视频创建一个 SMIL(同步多媒体集成语言)文件。如果你有 1 个视频,没问题,但是我们有超过 2000 个。

您可以在下面看到一个完美的 SMIL 文件。这个保存为video-test.smil

<smil>
<head>
<meta base="rtmp://xxx.cloudfront.net:1935/cfx/st/" />
</head>
<body>
<switch>
<video src="video-streaming/video-test-720.mp4" height="720" system-bitrate="2000000" width="1280" />
<video src="video-streaming/video-test-360.mp4" height="360" system-bitrate="800000" width="640" />
<video src="video-streaming/video-test-180.mp4" height="180" system-bitrate="300000" width="320"/>
</switch>
</body>
</smil>

我的想法是制作一个批处理脚本来执行以下操作:

  1. 读取文件夹并仅使用具有 .MP4 扩展名的文件名创建数组
  2. 获取第一个数组并将“video-test”替换为第一个数组中的名称
  3. 从数组的第一部分导出同名文件,并在文件夹中使用 .smil 文件
  4. 递增数组并重复

如果文件存在,特殊功能将是 SKIP。

问题:

这甚至可以用脚本来完成。有人可以帮忙吗..

谢谢

【问题讨论】:

    标签: batch-file


    【解决方案1】:
    @ECHO OFF
    SETLOCAL
    SET targetdir=.
    FOR /f %%i IN ('dir /b/a-d *.mp4') DO (
    IF NOT EXIST %targetdir%\%%~ni.smil (
    FOR /f "tokens=1*delims=#" %%s IN (smiltemplate.txt) DO (
    SET subs=%%t
    IF DEFINED subs (ECHO %%s%%~ni%%t) ELSE (ECHO %%s)
    )
    ) >%targetdir%\%%~ni.smil
    )
    

    将完美的 smil 文件保存为 smiltemplate.txt - 将字符串 video-test 替换为 #

    将目标目录更改为您要生成.smils 的位置,一切就绪!

    【讨论】:

    • 中风一个天才......!!!!点..我可以把BAT文件放在另一个目录外面吗...谢谢
    • 就我个人而言,我将所有批处理文件保存在一个名为 BATCH 的目录中 - '尽管其他人更喜欢 BELFRY。然后您需要将目录添加到 PATH - Settings&gt;Control Panel&gt;Advanced System Settings&gt; Environment Variables button 更改 PATH 以包含您选择的目录 - 这是一个分号分隔的列表。然后您可以从任何地方运行批处理(需要重新启动)。您需要在 *.mp4 之前包含 MP4 的目录路径,例如 c:\wherever\*.mp4 - smiltemplate.txt 也是如此 - 但我倾向于将 smiltemplate.txt 放在 BATCH 目录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 2017-11-23
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多