中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求解set命令“!!”格式使用?
作者:
标题: 求解set命令“!!”格式使用? 上一主题 | 下一主题
zxone
初级用户




积分 38
发帖 13
注册 2007-5-11
状态 离线
『楼 主』:  求解set命令“!!”格式使用?

下面是别人写的批处理文件,主要是把ping命令里的部分英文单词翻译并原样输出。 对于 set ret= echo %%i for %%a in (%%i) do echo %%a &&if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo. ) 特别是set ret=!ret!!%%a!的用法搞不清楚,目前也就是set命令的“!!”格式搞不大明白,请解惑! @echo off color f2 echo. set for=于 set of=的 set with=用 set in=(以 set data:=数据 set milli-seconds:=毫秒为单位) set Approximate=大约 set times=时间: set round=来回 set trip=行程 set Reply=应答 set from=来自 set bytes=字节 set time=时间: set timed=时间 set out=超过 set statistics=统计 set Packets:=包: set Sent=已发送= set Received=已收到= set Lost=已丢失= set loss)=丢失) set Minimum=最小值= set Maximum=最大值= set Average=平均值= set TTL=TTL= setlocal enabledelayedexpansion set a= set/p a=请输入要ping的网址或IP for /f "delims=" %%i in ('ping %a%') do ( set ret= echo %%i for %%a in (%%i) do echo %%a &&if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo. ) pause>nul


2008-2-26 12:23
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

递归调用 尝试以下代码:
@echo off &setlocal enabledelayedexpansion
set a=
for /l %%i in (1 1 20) do (if not defined !a! (set a=!a!%%i) 
echo !a!)
pause


2008-2-26 14:41
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
zxone
初级用户




积分 38
发帖 13
注册 2007-5-11
状态 离线
『第 3 楼』:  

感谢二楼,终于搞懂了这个bat :: if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo.里的echo !ret!用于输出 :: set ret=!ret:time=时间!的含义是用“时间”替代“time”,但完全没有用处。 :: if not "!ret!"=="" echo !ret!如果以如此格式执行,即没有括号,也能正确输出,但有变化。


2008-2-26 21:29
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 4 楼』:  

还是没有看明白,继续努力中


2008-5-17 13:38
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: