标题: 已解决 求助,如何用批处理将文本的格式做如下变化
[打印本页]
作者: kaikai163
时间: 2008-11-8 17:58
标题: 已解决 求助,如何用批处理将文本的格式做如下变化
有两个文档
第一个如下:
[00:22.36]片名:百万英镑
[01:16.16]Once upon a time when Britain was very rich 曾经有段时间英国非常富有
[01:19.48]deep in the box of bank in England 在英格兰银行巨大的保管库里
[01:21.48]there was more gold than anywhere in the world 所储存的黄金 比其他任何地方都多
第二个:
00:22.36 --> 01:16.16 片名:百万英镑
01:16.16 --> 01:19.48 Once upon a time when Britain was very rich 曾经有段时间英国非常富有
第二个文档的箭头后边的数字是第二行的数字
请问如何转换,
小弟新手,请各位大侠,不吝赐教!
已解决
[
Last edited by kaikai163 on 2008-11-8 at 23:12 ]
作者: tireless
时间: 2008-11-8 18:13
什么意思?
作者: pusofalse
时间: 2008-11-8 18:39
@echo off & setlocal enabledelayedexpansion
for /f "tokens=1* delims=[]" %%a in (a.txt) do (
set /a n+=1,m=n-1
set ".!n!=%%a" & set "_!n!=%%b"
if !n! gtr 1 call :loop "%%a"
)
pause>nul & exit /b
:loop
echo !.%m%! --^> %~1 !_%m%!
另,楼主没有说明白最后一行该如何显示。。。
作者: slore
时间: 2008-11-8 18:42
字幕文件处理……
作者: kaikai163
时间: 2008-11-8 22:23
4楼的是内行啊!就是这个要求!
不过我现在找到了一个软件,可以转换也就是lrc转换成srt不过里边有不少空行
如下显示
4
00:01:19,489 --> 00:01:21,480
deep in the box of bank in England 在英格兰银行巨大的保管库里
5
00:01:21,489 --> 00:01:27,160
there was more gold than anywhere in the world 所储存的黄金 比其他任何地方都多
6
00:01:27,169 --> 00:01:27,720
safe the banks of England. 那时有信誉的人常说
该如何将数字与空行去掉,并且字幕与时间放到一行上去呢??
还是请各位高手不吝赐教!
作者: kaikai163
时间: 2008-11-8 22:27
晕,一不留神给二楼加分了,本来想给三楼大哥加的!
作者: HAT
时间: 2008-11-8 22:32
标题: Re 5楼
@echo off
setlocal enabledelayedexpansion
type nul>result.txt
set m=2
for /f "tokens=*" %%i in ('findstr /v "^[0-9]*$" a.txt') do (
set /a hangn+=1
set /a n+=1
set line=!line! %%i
if !n! equ !m! (
echo.!line:~1!>>result.txt
set line=
set /a n=0
)
)
set /a t=!hangn!%%!m!
if !t! equ 0 goto end
echo.!line!>>result.txt
:end
作者: kaikai163
时间: 2008-11-8 22:59
版主直接是神仙,我太崇拜你了!
不过还有一点小小的要求
00:02:21,169 --> 00:02:23,120 A bet 是为了打赌
00:02:23,129 --> 00:02:26,240 打赌你是说打赌
版主能看出第一行 “A bet 是为了打赌” 前面那个空格为什么那么宽呢?
然后请修改一下您的批处理,使第二行前面加一个这样的空格。
麻烦你了!
作者: HAT
时间: 2008-11-8 23:02
标题: Re 8楼
你自己把7楼代码中:
set line=!line! %%i
!line!和%%i中间的空格换成制表符tab试试
作者: kaikai163
时间: 2008-11-8 23:03
Quote: |
Originally posted by HAT at 2008-11-8 11:02 PM:
你自己把7楼代码中:
set line=!line! %%i
!line!和%%i中间的空格换成制表符tab试试 |
|
好的我试试!
作者: kaikai163
时间: 2008-11-8 23:11
成功,感谢hat版主!