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

@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那些变量是什么意思
展开
 我来答
RunnerChin
2011-05-26 · TA获得超过1833个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1528万
展开全部
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%
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式