刚才在坛子里搜索了一下,看到了两段和我要的差不多的脚本。
原贴在http://www.cn-dos.net/forum/viewthread.php?tid=24593
按照那里面的东西我写了一份脚本,内容如下:
@echo off
Rem 取1天之前的日期,取回放入变量nowdate
echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set nowdate=%y%-%m%-%d%
copy /b web1-%nowdate%.log + web2-%nowdate%.log + web3-%nowdate%.log web-%nowdate%.log
move web-%nowdate%.log d:/web/logs/web-%nowdate%.log
执行的效果有了,但是执行起来速度稍微有点慢。然后按照那个原贴里的方案改为
@echo off
Rem 取1天之前的日期,取回放入变量nowdate
echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set nowdate=%y%-%m%-%d%
copy /b web1-%nowdate%.log + web2-%nowdate%.log + web3-%nowdate%.log web-%nowdate%.log
move web-%nowdate%.log d:/web/logs/web-%nowdate%.log
可是这样改完执行以后没有反应。因为才接触这个、很菜,不明白那里出错了。请各位帮忙指点一下。谢谢
[ Last edited by bahaiyxl on 2007-2-11 at 05:42 AM ]作者: slore 时间: 2007-2-11 05:43 @echo off
Rem 取1天之前的日期,取回放入变量nowdate
echo D=split(dateadd("d",-1,Date),"-")>%tmp%\tmp.vbs
echo If len(D(1))=1 then D(1)="0"+D(1)>>%tmp%\tmp.vbs
echo If len(D(2))=1 then D(2)="0"+D(2)>>%tmp%\tmp.vbs
echo wscript.echo D(0)+"-"+D(1)+"-"+D(2)>>%tmp%\tmp.vbs
for /f %%i in ('cscript /nologo %tmp%\tmp.vbs') do set nowdate=%%i
echo move web-%nowdate%.log d:/web/logs/web-%nowdate%.log
pause>nul作者: bahaiyxl 时间: 2007-2-11 06:11 谢谢,我试试。。作者: bahaiyxl 时间: 2007-2-11 06:21 谢谢,已经没有问题了。这个脚本直接执行还是不行,只好改了一下。。但是感觉改得不是很通。呵呵,还是对这个东西不是很理解。我再看看。。
现在的脚本是
@echo off
Rem 取1天之前的日期,取回放入变量nowdate
echo D=split(dateadd("d",-1,Date),"-")>%tmp%\tmp.vbs
echo If len(D(1))=1 then D(1)="0"+D(1)>>%tmp%\tmp.vbs
echo If len(D(2))=1 then D(2)="0"+D(2)>>%tmp%\tmp.vbs
echo wscript.echo D(0)+"-"+D(1)+"-"+D(2)>>%tmp%\tmp.vbs
for /f %%i in ('cscript /nologo %tmp%\tmp.vbs') do set nowdate=%%i
copy /b web1-%nowdate%.log + web2-%nowdate%.log + web3-%nowdate%.log web-%nowdate%.log
move web-%nowdate%.log d:/web/logs/web-%nowdate%.log
echo move web-%nowdate%.log d:/web/logs/web-%nowdate%.log
……搜了一下没有找到类似的信息。。实在不行就只能先将这个日志先传到linux下面,然后在那里面合下来再传回windows。呵呵作者: slore 时间: 2007-2-11 06:53 @echo off
Rem 取1天之前的日期,取回放入变量nowdate
echo D=split(dateadd("d",-1,Date),"-")>%tmp%\tmp.vbs
echo If len(D(1))=1 then D(1)="0"+D(1)>>%tmp%\tmp.vbs
echo If len(D(2))=1 then D(2)="0"+D(2)>>%tmp%\tmp.vbs
echo wscript.echo D(0)+"-"+D(1)+"-"+D(2)>>%tmp%\tmp.vbs
for /f %%i in ('cscript /nologo %tmp%\tmp.vbs') do set nowdate=%%i
echo copy /b web1-%nowdate%.log + web2-%nowdate%.log + web3-%nowdate%.log web-%nowdate%.log>tep.bat
echo move web-%nowdate%.log d:/web/logs/web-%nowdate%.log>>tep.bat