两者都有了;
开始先根据c:\avp\index\6\a.xml把其他所需的xml找出来;
然后根据找出来的xml;再根据其内容把相关文件复制到相应文件夹;
@echo off & setlocal enabledelayedexpansion
call :reset
for /f "tokens=2 delims== " %%a in ('findstr /i "serverfolder filename" c:\avp\index\6\a.xml') do (
if not defined serverfolder (set "serverfolder=%%~a") else (
if not defined filename set "filename=%%~a" & call :start1
)
)
move c:\AVP\index\6\a.xml c:\
for /f %%l in ('dir /b /s c:\AVP\*.xml') do (
call :reset
for /f "tokens=1,2 delims== " %%a in ('findstr /i "serverfolder filename" %%l') do (
set "var=%%a"
if "!count!"=="1" if /i "!var:~-8!"=="filename" copy c:\1\!filename! %%~dpl & set "count="
if /i "!var:~-8!"=="filename" set "filename=%%~b" & set /a count=1
if /i "!var:~-12!"=="serverfolder" set "serverfolder=%%~b"
if defined serverfolder if defined filename call :start
)
if defined filename copy c:\1\!filename! %%~dpl
)
move c:\a.xml c:\AVP\index\6\
copy c:\1\xml-0607g.pbv c:\avp\index\6\
copy c:\1\kl-0607g.pbv c:\avp\index\6\
rd /s /q c:\avp\7g.pbv
pause & goto :eof
:start1
set "serverfolder=%serverfolder:~6%"
:start
set "serverfolder=%serverfolder:/=\%"
md c:\AVP\%serverfolder%
copy c:\1\%filename% c:\AVP\%serverfolder%
:reset
set "serverfolder="
set "filename="
set "count="
Last edited by bjsh on 2007-5-24 at 05:36 PM ]