有2个批处理文件 HandlePublish.bat 和 HandleFlexi.bat 去读取配置文件Config.ini:
publish=N
publishDateTime=200805131427
updateServerB=N
updateDateTime=200805131427
Backup=N
BackupDateTime=200804180912
DeleteBak=N
DateTimeByDel=200802180912
FallBack=N
DateTimeByFallback=200802180912
============================
批处理HandlePublish.bat读Config.ini的时候,如果发现参数publish=Y,则执行脚本文件Publish.bat(并传递参数publishDateTime的值给Publish.bat ),执行完后将Config.ini里publish的值改成N,HandlePublish.bat的内容如下:
@echo off
for /f "delims=" %%a in ('findstr /i "^publishDateTime" Config.ini') do set num=%%a
set date=%num:~15%
for /f "delims=" %%a in (Config.ini) do (
if not defined flag (call :loop "%%a" a) else call :loop "%%a"
)
exit
:loop
set num=%~1
if "%~2"=="" (set "flag=>>") else set "flag=>"
if "%~1"=="publish=Y" (
echo publish=N%flag%Config.ini
call Publish.bat %date%
) else echo %~1%flag%Config.ini
goto :eof
批处理HandleFlexi.bat也一样,先判断updateServerB=Y的话,执行脚本updateServerB.bat,并传递参数updateDateTime的值给它,执行完updateServerB.bat后,将Config.ini里updateServerB=N, HandleFlexi.bat的内容为:
@echo off
for /f "delims=" %%a in ('findstr /i "^updateDateTime" Config.ini') do set num=%%a
set date=%num:~15%
for /f "delims=" %%a in (Config.ini) do (
if not defined flag (call :loop "%%a" a) else call :loop "%%a"
)
exit
:loop
set num=%~1
if "%~2"=="" (set "flag=>>") else set "flag=>"
if "%~1"=="updateServerB=Y" (
echo updateServerB=N%flag%Config.ini
call UpdateServerB.bat %date%
) else echo %~1%flag%Config.ini
goto :eof
现在的问题是分别执行HandlePublish.bat 和 HandleFlexi.bat 没问题,但同时运行的话,Config.ini会被改乱(我是通过同时建2个任务计划来分别执行它们的).
可否把这2个写成一个bat文件呢?功能不变
多谢!
[ Last edited by westwind on 2008-5-14 at 02:51 PM ]
publish=N
publishDateTime=200805131427
updateServerB=N
updateDateTime=200805131427
Backup=N
BackupDateTime=200804180912
DeleteBak=N
DateTimeByDel=200802180912
FallBack=N
DateTimeByFallback=200802180912
============================
批处理HandlePublish.bat读Config.ini的时候,如果发现参数publish=Y,则执行脚本文件Publish.bat(并传递参数publishDateTime的值给Publish.bat ),执行完后将Config.ini里publish的值改成N,HandlePublish.bat的内容如下:
@echo off
for /f "delims=" %%a in ('findstr /i "^publishDateTime" Config.ini') do set num=%%a
set date=%num:~15%
for /f "delims=" %%a in (Config.ini) do (
if not defined flag (call :loop "%%a" a) else call :loop "%%a"
)
exit
:loop
set num=%~1
if "%~2"=="" (set "flag=>>") else set "flag=>"
if "%~1"=="publish=Y" (
echo publish=N%flag%Config.ini
call Publish.bat %date%
) else echo %~1%flag%Config.ini
goto :eof
批处理HandleFlexi.bat也一样,先判断updateServerB=Y的话,执行脚本updateServerB.bat,并传递参数updateDateTime的值给它,执行完updateServerB.bat后,将Config.ini里updateServerB=N, HandleFlexi.bat的内容为:
@echo off
for /f "delims=" %%a in ('findstr /i "^updateDateTime" Config.ini') do set num=%%a
set date=%num:~15%
for /f "delims=" %%a in (Config.ini) do (
if not defined flag (call :loop "%%a" a) else call :loop "%%a"
)
exit
:loop
set num=%~1
if "%~2"=="" (set "flag=>>") else set "flag=>"
if "%~1"=="updateServerB=Y" (
echo updateServerB=N%flag%Config.ini
call UpdateServerB.bat %date%
) else echo %~1%flag%Config.ini
goto :eof
现在的问题是分别执行HandlePublish.bat 和 HandleFlexi.bat 没问题,但同时运行的话,Config.ini会被改乱(我是通过同时建2个任务计划来分别执行它们的).
可否把这2个写成一个bat文件呢?功能不变
多谢!
[ Last edited by westwind on 2008-5-14 at 02:51 PM ]
