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

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

本帖最后由 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就不显示了!!!  请问 如果想让着两个批处理合成一个我要如何编写?? 谢谢

for /f "delims=" %%i in ('wmic BIOS get manufacturer') do set /a m+=1 & if !m!==2  set one=%%i
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

直接用call调用试试看吧

TOP

变量重复了,重新指定一个变量名,如2楼,或者在执行第二条命令时设置变量为空

for /f ......
set n=
for /f ......

TOP

哦,谢谢 ,变量错了,这么简单的地方忽略了! 谢谢!!

TOP

返回列表