找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29492|回复: 4

[文本处理] [已解决]两个批处理单独运行可以,为什么合并到一起就无法运行!

[复制链接]
发表于 2017-9-18 20:59:36 | 显示全部楼层 |阅读模式
本帖最后由 yy521b 于 2017-9-19 11:18 编辑

批处理1内容及运行结果
  1. @Echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('wmic BIOS get manufacturer') do set /a n+=1 & if !n!==2  set one=%%i
  4. echo %one%
  5. pause
复制代码
运行结果
Hewlett-Packard
请按任意键继续. . .


批处理2内容及运行结果
  1. @Echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('wmic BIOS get status') do set /a n+=1 & if !n!==2  set two=%%i
  4. echo %two%
  5. pause
复制代码
运行结果
OK
请按任意键继续. . .


下面问题来了,我把两个for 写到一起,为什么只能运行上一条,下一条执行不了!! 如下
  1. @Echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('wmic BIOS get status') do set /a n+=1 & if !n!==2  set two=%%i
  4. for /f "delims=" %%i in ('wmic BIOS get manufacturer') do set /a n+=1 & if !n!==2  set one=%%i
  5. echo %two%
  6. echo %one%
  7. pause
复制代码
运行结果
OK
ECHO 处于关闭状态。
请按任意键继续. . .

第二个ECHO就不显示了!!!  请问 如果想让着两个批处理合成一个我要如何编写?? 谢谢
发表于 2017-9-18 21:30:20 | 显示全部楼层
for /f "delims=" %%i in ('wmic BIOS get manufacturer') do set /a m+=1 & if !m!==2  set one=%%i
发表于 2017-9-18 22:10:31 | 显示全部楼层
直接用call调用试试看吧
发表于 2017-9-19 00:41:34 | 显示全部楼层
变量重复了,重新指定一个变量名,如2楼,或者在执行第二条命令时设置变量为空

for /f ......
set n=
for /f ......
 楼主| 发表于 2017-9-19 11:26:36 | 显示全部楼层
哦,谢谢 ,变量错了,这么简单的地方忽略了! 谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:32 , Processed in 0.018352 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表