Board logo

标题: [数值计算] 批处理中定义的参数和传入的参数是否有区别? [打印本页]

作者: yuboabc    时间: 2017-7-18 23:06     标题: 批处理中定义的参数和传入的参数是否有区别?

直接看一下图吧:
第一种在批处理文件中直接定义参数
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. ::CODER BY lenovo POWERD BY iBAT
  4. set "a=&pause"
  5. echo "%a:"=""%"|findstr>nul /rx "^""[0-9]*"""&&echo yes ||echo no
复制代码
效果:


第二种从外部传入参数 使用%1
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. ::CODER BY lenovo POWERD BY iBAT
  4. set "a=%1"
  5. echo "%a:"=""%"|findstr>nul /rx "^""[0-9]*"""&&echo yes ||echo no
复制代码
效果:


为什么会这样呢?请大神给解解惑。。。

是否是在参数传入的时候就批处理就将 &pause 给解析了 使得变量 变成空值?
作者: 老刘1号    时间: 2017-7-18 23:28

本帖最后由 老刘1号 于 2017-7-18 23:30 编辑

建议查阅:http://zhannei.baidu.com/cse/sea ... 6%C0%ED%BB%FA%D6%C6
解决方法: "&pause" 或 ^&pause
作者: yuboabc    时间: 2017-7-18 23:42

懂了懂了~~~是自己绕迷糊了。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2