本帖最后由 q115643492 于 2011-7-23 19:20 编辑
- for /f "delims=" %%i in ('findstr /i "K: L:" "c:\windows\temp\wined.txt"') do ((set/p=“%%i”<nul)>>"c:\windows\temp\nwined.txt")
复制代码 这是我一大段代码其中的一句,意思是在c:\windows\temp\wined.txt中找出包含K:和L:的行,然后输出到nwined.txt里,且在一行显示,不换行。((set/p=“%%i”<nul)>>"c:\windows\temp\nwined.txt") 这里有点疑惑,我这样写不知道对不对,但这样写整个代码是正确执行的。
最初这一句do后面的代码我没有象这样写,而是写成(set/p=“%%i”<nul>>"c:\windows\temp\nwined.txt") ,还查阅过资料,改成过(>>"c:\windows\temp\nwined.txt" set/p=“%%i”<nul)以及(set/p=“%%i”>>"c:\windows\temp\nwined.txt" <nul),这2种写法,是正确的,但是都会出现整个代码在某个地方卡住,而去掉这行,就不卡住,最后我改成了最上面那段,才可以。但我还是不明白问题出在哪,也不知道我改成那样是对的还是错的,还请有心人帮我分析下。 |