|
mrhjzhang
初级用户
积分 100
发帖 39
注册 2005-10-27
状态 离线
|
『楼 主』:
[求教]一个涉及特殊字符的动态生成文件的问题
情况是这样的。
上次在大侠们的教导下学会了不少DOS应用,很有乐趣。
不过这次遇到了一个棘手的问题。
首先说明缘由:
由于网上很多连续剧是双语的,所以需要分离声道,具体是先分离出音轨,然后用.avs语言分离音轨中的右声道,然后合并。主要麻烦在avs上。假设吧,连续剧有20集,就要生成20个avs.
名字依次为01.avs、02.avs、....、20.avs。
avs的内容为(假设第16集)
video =DirectShowSource("E:\潮爆大状\16.000",fps=24)
return GetRightChannel(video)
困难有两点:
1:生成的文件名中含有变化。
2:"\符号。
我草稿如下:
-----------------
setlocal EnableDelayedExpansion
set m=
set P=
set avs=.avs
set rtn=return GetRightChannel(video)
:::此处填入地址,注意末位\号.
set addpath=video =DirectShowSource("E:\潮爆大状\
:::此处填入FPS.
set fpss=.000",fps=25)
:::此处填入起始,步进,末尾中的"末尾".
set fg=20
for /L %%i in (1,1,%fg%) do (
set !m!=%addpath%%%i%fpss%>%%~ni%avs%
echo %rtn% >>%%~ni%avs%
)
首先字符串相加不知道如何操作,用+好像没用?写成%addpath%%%i%fpss%反而可以?
其次%%~ni%avs%文件也无法生成,或者生成但内容不对?
各位经验丰富的大侠,我初学DOS,是在不是很会,这种情况应该如何实现?
|
|
2006-6-24 16:59 |
|
|
mrhjzhang
初级用户
积分 100
发帖 39
注册 2005-10-27
状态 离线
|
|
2006-6-28 19:32 |
|
|
mrhjzhang
初级用户
积分 100
发帖 39
注册 2005-10-27
状态 离线
|
『第
3 楼』:
求人不如求己,自己搞定了
@echo off
setlocal EnableDelayedExpansion
::此处填入地址.
set addpath=E:\下载文件夹\BT下载
::此处填入FPS.
set fpss=25
::此处填入步进的末尾.
set fg=13
cls
if /i %fg% GTR 9 goto up
goto low
:up
for /L %%i in (1,1,9) do @echo video =DirectShowSource("%addpath%\0%%i.000",fps=%fpss%)>"0"%%~ni".avs"
for /L %%i in (1,1,9) do @echo return GetRightChannel(video)>>"0"%%~ni".avs"
for /L %%i in (10,1,%fg%) do @echo video =DirectShowSource("%addpath%\%%i.000",fps=%fpss%)>%%~ni".avs"
for /L %%i in (10,1,%fg%) do @echo return GetRightChannel(video)>>%%~ni".avs"
goto :eof
:low
for /L %%i in (1,1,%fg%) do @echo video =DirectShowSource("%addpath%\%%i.000",fps=%fpss%)>%%~ni".avs"
for /L %%i in (1,1,%fg%) do @echo return GetRightChannel(video)>>%%~ni".avs"
goto :eof
|
|
2006-7-10 15:20 |
|
|