无忧启动论坛

 找回密码
 注册
搜索
一次装机 终生领工资最纯净的「微PE装机优盘」UEPON大师作品大连甘井子辛寨子由家工业园标准厂房出租广告位出租 QQ:184822951
查看: 668|回复: 27

[求助] wmic的环境在批处理里怎么退出?

[复制链接]
发表于 2017-7-4 16:18:38 来自手机 | 显示全部楼层 |阅读模式
调用它以后,怎么退出它的环境,却不影响批处理继续工作?
 楼主| 发表于 2017-7-4 16:41:24 来自手机 | 显示全部楼层
echo.quit|wmic这种格式呢,有群友提示,我回去试试。
发表于 2017-7-4 17:43:12 来自手机 | 显示全部楼层
这玩意儿在批处理里面还用单独退出?不退出有影响?
 楼主| 发表于 2017-7-4 18:18:20 来自手机 | 显示全部楼层
嗯,后续的命令就会执行不了,比如字符串对比,就会提示获取字符串失败。
发表于 2017-7-8 17:36:31 来自手机 | 显示全部楼层
批处理中,调用wmic 都是单一命令调用,自然退出。
发表于 2017-7-8 17:36:33 来自手机 | 显示全部楼层
批处理中,调用wmic 都是单一命令调用,自然退出。
 楼主| 发表于 2017-7-8 18:45:40 来自手机 | 显示全部楼层
但是后面的命令都执行失败了。
 楼主| 发表于 2017-7-8 18:54:59 | 显示全部楼层
  1. @echo off
  2. del list.log /q
  3. dir *-kb*.msu /b /o:n >a.txt
  4. wmic qfe get hotfixid >>1.tx
  5. tfor /f "delims=^- tokens=1,*" %%a in (1.txt) do (echo %%a>>2.txt)
  6. del 1.txt /q
  7. for /f "delims=^_ tokens=1,*" %%a in (2.txt) do (echo %%a>>b.txt)
  8. del 2.txt /q
  9. findstr /V /I /G:b.txt a.txt > c.txt && move /y c.txt list.log
  10. del *.txt
  11. for /f "eol=o eol=O " %%j in (list.log) do echo 正在安装补丁%%j && start /wait wusa %%j /quiet /norestart
复制代码


比如这个

点评

最近右臂摔了一下,骨裂了,回帖不便。 原因已经找到,WMIC输出的文本默认为unicode格式,而for默认是无法读取这种文本的,可以通过type 1.txt实现,或者将wmic结果用findstr处理一下再输出(建议只保留KB开头的  详情 回复 发表于 2017-7-15 20:18
发表于 2017-7-15 20:18:53 来自手机 | 显示全部楼层
窄口牛 发表于 2017-7-8 18:54
比如这个

最近右臂摔了一下,骨裂了,回帖不便。

原因已经找到,WMIC输出的文本默认为unicode格式,而for默认是无法读取这种文本的,可以通过type 1.txt实现,或者将wmic结果用findstr处理一下再输出(建议只保留KB开头的行),这样输出的文本默认ansi格式,for可以正常读取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|无忧启动 ( 闽ICP备05002490号-1

闽公网安备 35020302032614号

GMT+8, 2017-11-20 17:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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