求高手给硪解释下这批处理的意思,(有分给的)

@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
在临时目录建立一个 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%
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网