[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理中定义的参数和传入的参数是否有区别?

直接看一下图吧:
第一种在批处理文件中直接定义参数
  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:30 编辑

建议查阅:http://zhannei.baidu.com/cse/sea ... 6%C0%ED%BB%FA%D6%C6
解决方法: "&pause" 或 ^&pause

TOP

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

TOP

返回列表