中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 10:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何在批处理用命令行来改变%1的值? 查看 1,183 回复 8
楼 主 [已结]如何在批处理用命令行来改变%1的值? 发表于 2006-06-04 07:06 ·  中国 辽宁 大连 电信
初级用户
积分 110
发帖 27
注册 2006-06-03 17:25
UID 56491
状态 离线
我是说运行时没给参数,在里面,可以更改%1有内容吗?

[ Last edited by willsort on 2006-6-14 at 17:39 ]
xp,cmd
2 发表于 2006-06-05 13:55 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
UID 43784
来自 北京
状态 离线
有必要吗?输入的时候没给参数,在程序里又要该参数,LZ这样的想法都能想的出来,佩服,佩服
3 发表于 2006-06-05 19:42 ·  中国 广东 肇庆 中移铁通
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
UID 43709
性别 男
状态 离线
呵呵.好难理解楼主的做法.既然不输入参数,干嘛还要它自己写参数呢.倒不如脚本中都不要设参数,方便简单.
4 发表于 2006-06-06 11:35 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
UID 42843
性别 男
来自 四川南充
状态 离线
5 发表于 2006-06-06 16:07 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线
Originally posted by wentimao at 2006-6-4 07:06:
我是说运行时没给参数,在里面,可以更改%1有内容吗?


例:

@echo off
rem 量示名字的批处理!
if "%1"=="" (call :not 小明) else echo %1 你好!
goto :EOF

:not
echo %1 你好
goto :EOF

6 发表于 2006-06-06 17:46 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re doscc:

兄的答复应该是切合的楼主的原题的。

只是需要说明的是,在大多数情况下,我们不需要修改命令行参数,比如在兄的示例中,完全可以用下面的代码。更复杂的例子,可以将命令行参数赋到环境变量中再行判断,这样要简单一些。

if "%1"=="" (echo 小明 你好!) else echo %1 你好!

当然,有些时候我们确实需要某些特殊的命令行参数,而输入起来又很麻烦,此时,除了兄的方法之外,也可以用类似下面例子的代码。


@echo off
if "%1"=="" %0 小明
echo %1 你好
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
7 发表于 2006-06-06 22:34 ·  中国 辽宁 大连 电信
初级用户
积分 110
发帖 27
注册 2006-06-03 17:25
UID 56491
状态 离线
willsort,看了你的几个回复,你行,佩服,五楼的方法我比较喜欢
willsort提到的%0 小明,这个应该相当于重新调用批处理了吧

1>null 和2>nul 各代表什么?在论坛哪里有解释?解释一下,或发个链接看看
xp,cmd
8 发表于 2006-06-07 00:10 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线
谢谢版主指点.
9 发表于 2006-06-07 13:14 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线

───────────────── 版主提示 ─────────────────
为了节约你我的时间和论坛的空间,请善用论坛的“搜索”功能和网络的搜索引擎。
本论坛搜索功能链接:http://www.cn-dos.net/forum/search.php
推荐国内信息资源搜索引擎:http://www.baidu.com/
推荐国际信息资源搜索引擎:http://www.google.com/
───────────────── 版主提示 ─────────────────


Re wentimao:

请参考以下链接:

批处理语句中的 2>nul 1>nul 是什么意思
http://www.cn-dos.net/forum/viewthread.php?tid=16942
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
论坛跳转: