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


  Quote:
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:

      请参考以下链接:

[1][已结]批处理语句中的 2>nul 1>nul 是什么意思
http://www.cn-dos.net/forum/viewthread.php?tid=16942