Board logo

标题: [其他] [已解决]批处理脚本里面&不是转行吗? [打印本页]

作者: 小文    时间: 2015-2-23 13:02     标题: [已解决]批处理脚本里面&不是转行吗?

本帖最后由 小文 于 2015-3-4 17:38 编辑
  1. @echo off
  2. echo 1
  3. echo 2
  4. echo 1&echo 2
  5. set a=4
  6. set a=5
  7. echo %a%
  8. pause
复制代码
  1. @echo off
  2. echo 1
  3. echo 2
  4. echo 1&echo 2
  5. set a=4
  6. set a=5&echo %a%
  7. pause
复制代码
为什么他们的结果不一样?
作者: pcl_test    时间: 2015-2-23 13:42

本帖最后由 pcl_test 于 2015-2-23 13:43 编辑

回复 1# 小文
一般而言,&表示两条命令或语句同时执行,这有个预处理和变量延迟问题,所以set a=5&echo %a%没有输出5
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo 1
  4. echo 2
  5. echo 1&echo 2
  6. set a=4
  7. set a=5 & echo !a!
  8. pause
复制代码

作者: amwfjhh    时间: 2015-2-27 12:37

&表示几条语句在同一执行周期内顺序执行,类似于括号()的作用,表达一个语句块




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