|
|
楼主 |
发表于 2014-10-26 20:20:47
|
显示全部楼层
回复 8# Batcher
整个批处理内容如下:
@echo on
setlocal enabledelayedexpansion
:topavi
cd v:\1aep
for /f %%z in ('findstr /s /i /m "rendering=1" *.txt') do (
for /f "tokens=1,* delims==" %%a in ('find "filenumber" ^< %%z') do ( set filenumber=%%b )
for /f "tokens=1,* delims==" %%c in ('find "inipath" ^< %%z') do ( set inipath=%%d )
for /f "tokens=1,* delims==" %%g in ('find "aepname" ^< %%z') do ( set aepname=%%h )
echo !filenumber! !inipath! !aepname!
for /l %%i in (1,1,!filenumber! ) do (
if not exist v:!inipath!\work_%%i.avi (
echo 渲染任务没有完成!
goto topmp4 )
for /f "delims=" %%e in ("v:!inipath!\work_%%i.avi") do (
if /i %%~ze gtr 0 (
timeout /t 3 >nul
for /f "delims=" %%j in ("v:!inipath!\work_%%i.avi") do (
timeout /t 3 >nul
if /i %%~ze equ %%~zj ( echo %time% %date% 工程执行完成!修改配置文件!) & ( v:\run\sed -i s/rendering=1/rendering=1/g v:\1aep\!aepname!.txt ) else timeout /t 3 & goto topavi )
)
)
)
)
)
:topmp4
cd v:\1aep
for /f %%z in ('findstr /s /i /m "rendering=3" *.txt') do (
for /f "tokens=1,* delims==" %%a in ('find "filenumber" ^< %%z') do ( set filenumber=%%b )
for /f "tokens=1,* delims==" %%c in ('find "inipath" ^< %%z') do ( set inipath=%%d )
for /f "tokens=1,* delims==" %%g in ('find "aepname" ^< %%z') do ( set aepname=%%h )
echo !filenumber! !inipath! !aepname!
for /l %%i in (1,1,!filenumber!) do (
if not exist v:!inipath!\work_%%i.avi (
echo 渲染任务没有完成!
goto topmp4 )
for /f "delims=" %%e in ("v:!inipath!\work_%%i.avi") do (
if %%~ze gtr 0 (
timeout /t 3 >nul
for /f "delims=" %%j in ("v:!inipath!\work_%%i.avi") do (
timeout /t 3 >nul
if !ba! equ !bb! ( echo %time% %date% 任务执行完成!修改配置文件!) & ( v:\run\sed -i s/rendering=3/rendering=4/g v:\1aep\!aepname!.txt ) else timeout /t 3 & goto topavi )
)
)
)
)
)
:endmp4
echo 休眠30秒!
timeout /t 30
goto topavi
下面是txt内容:
[General]
name=20141007183419010016h
Frame=627
rendering=1
del=0
comp=oak
inipath=\1avi\20141007183419010016h
aepname=20141007183419010016h
min=1000
filenumber=7
PS:这个是完整的批处理了。
整体功能实现分1.bat 2.bat 3.bat
3个部分完成的。这个是2.bat 1.bat负责环境检查、给2.bat和3.bat分配任务。 |
|