标题: [系统相关] 发现Wimc的一个低级BUG及解决方法 [打印本页]
作者: fastslz 时间: 2008-1-21 12:59 标题: 发现Wimc的一个低级BUG及解决方法
- @echo off
- set keyname=微软真垃圾
- set /p=%keyname%<nul>name.txt
- wmic /?
- pause
复制代码
本来只是用set/p生成一个不带换行符的文本,没想到此后wmic任何参数不起作用了。
BUG症状光标闪烁批处理被中断,环境WinXP SP2,我原来的批处理代码很长,挖出这个臭虫用了N天,本以为代码某部分不稳定,原来被这个低级臭虫整了,真郁闷~
也不知道是set/p的问题还是wmic的问题,解决方法- @echo off
- set keyname=微软真垃圾
- set /p=%keyname%<nul>name.txt
- set /p=<nul>nul
- wmic /?
- pause
复制代码
应验那句“解铃还需系铃人”
作者: fastslz 时间: 2008-1-21 15:51
看来问题还是出在set/p参数方面
- @echo off
- set keyname=微软真垃圾
- >name.txt set/p=%keyname%<NUL
- wmic /?
- pause
复制代码
作者: xxx3212 时间: 2008-1-21 19:53
也不用这么骂微软吧
作者: somebody 时间: 2008-1-22 22:26
哈,厉害厉害,佩服佩服,晒利晒利~`
你意思是得给set/p 加个换行是吧````
- C:\Documents and Settings\kimhoo>set /p=somebody<nul&wmic /?
复制代码
好象并不是你所说的那样,如上代码,一个回车就能执行 wmic /? 了
并不需要两个回车,也就是说,执行完 set/p=somebody<nul不需要再给一个回车才能执行 wmic /?
[ 本帖最后由 somebody 于 2008-1-22 22:30 编辑 ]
作者: fastslz 时间: 2008-1-23 00:58
原帖由 somebody 于 2008-1-22 22:26 发表
哈,厉害厉害,佩服佩服,晒利晒利~`
你意思是得给set/p 加个换行是吧````
C:\Documents and Settings\kimhoo>set /p=somebody
你理解错了,我上面说过了set /p 只是获得一个不带换行符的文本,也就16进制0D0A
从这个例子里可以得出>name.txt set/p=%keyname%<nul才是正确语法
作者: wxcute 时间: 2008-12-21 15:17 标题: 个人见解,我猜是使用句柄的方法不一样
- @echo off
- set keyname=微软真垃圾
- set /p=%keyname%<nul>name.txt 3>con
- wmic/?
- pause
复制代码
- @echo off
- set keyname=微软真垃圾
- set /p=%keyname%<nul>name.txt
- echo.|wmic/?
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |