Board logo

标题: [已结]如何在批处理用命令行来改变%1的值? [打印本页]

作者: wentimao     时间: 2006-6-4 07:06    标题: [已结]如何在批处理用命令行来改变%1的值?
我是说运行时没给参数,在里面,可以更改%1有内容吗?

Last edited by willsort on 2006-6-14 at 17:39 ]

作者: bagpipe     时间: 2006-6-5 13:55
有必要吗?输入的时候没给参数,在程序里又要该参数,LZ这样的想法都能想的出来,佩服,佩服

作者: voiL     时间: 2006-6-5 19:42
呵呵.好难理解楼主的做法.既然不输入参数,干嘛还要它自己写参数呢.倒不如脚本中都不要设参数,方便简单.

作者: 不得不爱     时间: 2006-6-6 11:35
问题没有说清楚!

作者: doscc     时间: 2006-6-6 16:07
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


作者: willsort     时间: 2006-6-6 17:46
Re doscc:

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

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

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

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


@echo off
if "%1"=="" %0 小明
echo %1 你好

作者: wentimao     时间: 2006-6-6 22:34
willsort,看了你的几个回复,你行,佩服,五楼的方法我比较喜欢
willsort提到的%0 小明,这个应该相当于重新调用批处理了吧

1>null 和2>nul 各代表什么?在论坛哪里有解释?解释一下,或发个链接看看

作者: doscc     时间: 2006-6-7 00:10
谢谢版主指点.

作者: willsort     时间: 2006-6-7 13:14

───────────────── 版主提示 ─────────────────
为了节约你我的时间和论坛的空间,请善用论坛的“搜索”功能和网络的搜索引擎。
本论坛搜索功能链接: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