我一直在处理批处理脚本,以更改某些.xml
文件的格式/类型。
几乎完成,但是我在更改时间码时遇到问题。
这里是一个例子
<Events>
<Event In="00:00:20.650" Out="00:00:22.970"
<Event In="00:00:23.050" Out="00:00:26.300"
此时间格式hh:mm:ss.ms
应更改为hh:mm:ss:ff
这意味着将Milliseconds
更改为Frames
。
这样做的公式如下:ms*25/1000
或为简单起见[C0]
输出应为
ms*0.025
[Notes
<Events>
<Event In="00:00:20:16" Out="00:00:22:24"
<Event In="00:00:23:01" Out="00:00:26:08"
和GNUWin
库工具,因此可以使用Cygwin
bc
,expr
,tr
awk
或其他解决方案来完成工作。您可以使用awk脚本来做到这一点:
PowerShell:
这里是纯<# : batch portion
@echo off & setlocal
powershell "iex (${%~f0} | out-string)"
goto :EOF
: end Batch / begin PowerShell hybrid code #>
解决方案。此脚本对于batch-file具有特殊含义的所有字符都是安全的。基本上,它在给定的输入文件中搜索关键字或属性名称cmd
和In
,后跟Out
和用引号=
括起来的时间代码。如果找到,则毫秒部分被分割,转换为帧并附加到剩余的时间码上,以""
分隔。每行可以有任意数量的时间码,只要它们的格式与示例数据中给出的格式相同,并且所有给定的关键字之一都在前面,就可以识别并转换所有时间码。
使用密送