批处理脚本 - 导出包含信息的文本文件

时间:2013-03-15 20:42:43

标签: batch-file

我们正在为我们的视频服务器使用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. 获取第一个数组并使用第一个数组中的名称替换“视频测试”
  3. 使用.smil在文件夹
  4. 中从数组的第一部分导出具有相同名称的文件
  5. 增加数组并重复
  6. 如果文件存在,则特殊功能是SKIP。

    问题:

    甚至可以用SCRIPT完成。有人可以帮忙......

    由于

1 个答案:

答案 0 :(得分:2)

@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替换为#

将目标目录更改为您要生成.smil的所有内容并完成所有操作!