::简化了一下,如果在call 1。bat之前就提取到了datetime的值,就把它当参数传给1.bat
如果call 1.bat时,还没有取到datetime的值,就在1.bat中再从config.ini中提取。
:
@echo off
for /f "delims=" %%a in (config.ini) do (
if not defined flag (call :loop "%%a" a) else call :loop "%%a"
)
echo datetime的值是 %dat%
pause&exit
:loop
set num=%~1
if "%~2"=="" (set "flag=>>") else set "flag=>"
if "%~1"=="update=yes" (
echo update=no%flag%config.ini
call 1.bat %dat%
) else echo %~1%flag%config.ini
if "%num:~0,8%"=="datetime" set dat=%num:~9%
goto :eof
1.bat 内容
@echo off
if "%~1"=="" (call :lis) else set dat=%~1
echo datetime的值是 %dat%
pause
xcopy /s/r/y d:\temp\*.* e:\temp
goto :eof
:lis
for /f "delims=" %%a in ('findstr /i "^datetime" config.ini') do set num=%%a
set dat=%num:~9%
goto :eof
Last edited by 26933062 on 2008-4-17 at 05:06 PM ]