求高手给硪解释下这批处理的意思,(有分给的)
@echooffechowscript.echodateadd("d",-l,date)>%tmp%\tmp.vbsfor/f"tokens=1,2,3*delims=-...
@echo off
echo wscript.echo dateadd("d",-l,date) > %tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i)
set/a hh=%time:~0,2%
set "filename=%y%/%hh%"
set "filename=%filename:/=-%"|
set "filel=file1_%filename%.txt"
set "file2=file2_%filename%.txt"
md c:\ping
ping -n 1000 122.11.61.114 >c:\ping\%file1%
ping -n 1000 110.173.2.21 >c:\ping\%file2%
那位大哥 我是想让您解释下原理 主要是讲SET那些变量是什么意思 展开
echo wscript.echo dateadd("d",-l,date) > %tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i)
set/a hh=%time:~0,2%
set "filename=%y%/%hh%"
set "filename=%filename:/=-%"|
set "filel=file1_%filename%.txt"
set "file2=file2_%filename%.txt"
md c:\ping
ping -n 1000 122.11.61.114 >c:\ping\%file1%
ping -n 1000 110.173.2.21 >c:\ping\%file2%
那位大哥 我是想让您解释下原理 主要是讲SET那些变量是什么意思 展开
1个回答
展开全部
echo wscript.echo dateadd("d",-l,date) > %tmp%\tmp.vbs
在临时目录建立一个 tmp.vbs 内容是 wscript.echo dateadd("d",-1,date) (这个vbs的作用是输出昨天的日期,你抄错了一处,这儿"d"后面是 -1,不是 -L )
for这段也有问题。这段代码看下来应该是括在 set "filename=%filename:/=-%"之后(你那的| 应该就是)误抄成的吧)
但是总的看起来,似乎是想把对两个IP的PING的结果写进一个文件
那么文件名处理这块就显得多余了(我指的是for这句,不知所云)
最后的结果是在C:\ping建两个文件 file1_昨天的日期-现在的小时数.txt file2_昨天的日期-现在的小时数.txt ,保存ping两个IP1000次的结果。
set "filel=file1_%filename%.txt"这句你也抄错了 set "file1=…… 不是 set "filel=……
我帮你改了下
@echo off
echo wscript.echo dateadd("d",-1,date) > %tmp%\tmp.vbs
for /f %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
set filename=%y%-%time:~0,2%
set file1=file1_%filename%.txt
set file2=file2_%filename%.txt
C:
if not exist ping md ping
cd ping
ping -n 1000 122.11.61.114 >%file1%
ping -n 1000 110.173.2.21 >%file2%
在临时目录建立一个 tmp.vbs 内容是 wscript.echo dateadd("d",-1,date) (这个vbs的作用是输出昨天的日期,你抄错了一处,这儿"d"后面是 -1,不是 -L )
for这段也有问题。这段代码看下来应该是括在 set "filename=%filename:/=-%"之后(你那的| 应该就是)误抄成的吧)
但是总的看起来,似乎是想把对两个IP的PING的结果写进一个文件
那么文件名处理这块就显得多余了(我指的是for这句,不知所云)
最后的结果是在C:\ping建两个文件 file1_昨天的日期-现在的小时数.txt file2_昨天的日期-现在的小时数.txt ,保存ping两个IP1000次的结果。
set "filel=file1_%filename%.txt"这句你也抄错了 set "file1=…… 不是 set "filel=……
我帮你改了下
@echo off
echo wscript.echo dateadd("d",-1,date) > %tmp%\tmp.vbs
for /f %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
set filename=%y%-%time:~0,2%
set file1=file1_%filename%.txt
set file2=file2_%filename%.txt
C:
if not exist ping md ping
cd ping
ping -n 1000 122.11.61.114 >%file1%
ping -n 1000 110.173.2.21 >%file2%
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询