中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 01:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 参数问题 查看 715 回复 9
楼 主 参数问题 发表于 2007-01-11 00:35 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
@echo off
color 1f
title ip测试
set a=
set/p a=请输入ip地址:
if "%a%"=="192.168.2.1" goto for
goto end
:for
for /f %%i in ('%1') do ping -n 1 %%i >>a.txt
:end
pause>nul
这个批处理,我想知道,for语句中的%1可否替代 if中的%a%
如果不是,怎么可以替代%a%
谢谢,请尽快回,


──────────────── 版务记录 ────────────────
执行:namejm
原标题:参数问题
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因刚脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除
  2点积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,
  以避免在今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2007-1-10 at 08:53 PM ]
2 发表于 2007-01-11 00:40 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
@echo off
color 1f
title ip测试
set a=
set/p a=请输入ip地址:
if "%a%"=="192.168.2.1" goto for
goto end
:for
for /f %%i in ("%a%") do ping -n 1 %%i >>a.txt
:end
pause>nul
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-01-11 00:44 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
我用过了,for 中的%a%我用的单引号,这也有区别吗??
4 发表于 2007-01-11 00:47 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
我的理解是:当()中是执行命令后所输出的内容,用单引号,若是字符串之类的用双引号。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
5 发表于 2007-01-11 00:49 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
哦,谢谢,又学到了,呵呵
6 发表于 2007-01-11 00:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  当然有区别了,看看for的帮助。
7 发表于 2007-01-11 01:01 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
@echo off
color 1f
title ip测试
set a=
set/p a=请输入ip地址:
for /f %%i in ("%a%") do ping -n 1 %%i | find "Reply" >>ip测试结果.txt
call a.bat
最后一项call a.bat 可不可以用其它的什么命令代替,我目的是要让它重复使用
8 发表于 2007-01-11 01:02 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
@echo off
color 1f
title ip测试
:loop
set a=
set/p a=请输入ip地址:
for /f %%i in ("%a%") do ping -n 1 %%i | find "Reply" >>ip测试结果.txt
goto loop
9 发表于 2007-01-11 01:03 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
setlocal EnableDelayedExpansion
是什么意思
10 发表于 2007-01-11 01:04 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
哈哈,我笨呀,跳转都没想到
论坛跳转: