Board logo

标题: [文本处理] [已解决]批处理findstr命令为什么不显示文本内容? [打印本页]

作者: 慕夜蓝化    时间: 2015-1-27 11:21     标题: [已解决]批处理findstr命令为什么不显示文本内容?

本帖最后由 慕夜蓝化 于 2015-1-27 18:34 编辑

a b.txt文本:
  1. laizixinshijie
  2. laizixinshijie
  3. laizixinshijie
  4. laizixinshijie
  5. laizixinshijie
  6. laizixinshijie
  7. laizixinshijie
  8. laizixinshijie
  9. laizixinshijie
  10. laizixinshijie
  11. laizixinshijie
  12. laizixinshijie
  13. laizixinshijie
  14. laizixinshijie
  15. laizixinshijie
  16. laizixinshijie
  17. 12256
  18. Saber555
  19. 5666888
  20. 233SABER
  21. kinl
复制代码
以上是a b.txt的文本内容
  1. @echo off
  2. for /f "delims=" %%i in ('findstr .* ^<"a b.txt"') do echo,%%i
  3. pause
复制代码
运行后里面就一个光标在闪,其余什么都没有?
然后在,命令提示符下:
  1. C:\Users\Administrator\Desktop\CES>findstr .* <"a b.txt"
  2. laizixinshijie
  3. laizixinshijie
  4. laizixinshijie
  5. laizixinshijie
  6. laizixinshijie
  7. laizixinshijie
  8. laizixinshijie
  9. laizixinshijie
  10. laizixinshijie
  11. laizixinshijie
  12. laizixinshijie
  13. laizixinshijie
  14. laizixinshijie
  15. laizixinshijie
  16. laizixinshijie
  17. laizixinshijie
  18. 12256
  19. Saber555
  20. 5666888
  21. 233SABER
  22. ^C
  23. C:\Users\Administrator\Desktop\CES>type "a b.txt"|findstr .*
  24. laizixinshijie
  25. laizixinshijie
  26. laizixinshijie
  27. laizixinshijie
  28. laizixinshijie
  29. laizixinshijie
  30. laizixinshijie
  31. laizixinshijie
  32. laizixinshijie
  33. laizixinshijie
  34. laizixinshijie
  35. laizixinshijie
  36. laizixinshijie
  37. laizixinshijie
  38. laizixinshijie
  39. laizixinshijie
  40. 12256
  41. Saber555
  42. 5666888
  43. 233SABER
  44. kinl
  45. C:\Users\Administrator\Desktop\CES>findstr "^[0-9]*$" "a b.txt"
  46. 12256
  47. 5666888
  48. C:\Users\Administrator\Desktop\CES>
复制代码
这里findstr 之后的 < 有问题吗?为什么之前都可以运行呢?
  1. @echo off
  2. for /f "delims=" %%i in ('findstr "^[0-9]*$" ^<"a b.txt"') do echo,%%i
  3. pause
复制代码
之前在批处理中测试都好好的,为什么现在就一个黑窗口;最后把那个^<去掉了,然后一切都好了。>_<
可我之前测试的时候也在批处理中加了 ^< 一切都正常啊。
最后是在a b.txt 文本的最后一行添加了
HHHHHHH
就开始不能用这种写法了。
findstr 精分了?
作者: 慕夜蓝化    时间: 2015-1-27 11:32

在运行完:
  1. @echo off
  2. for /f "delims=" %%i in ('findstr .* "a b.txt"') do echo,%%i
  3. pause
复制代码
之后,删除了a b.txt的最后两行,又添加^<
  1. for /f "delims=" %%i in ('findstr .* ^<"a b.txt"') do Echo,%%i
复制代码
又能够正常显示了 = = ,但是我关闭之后,又重新测试了一下,不行了。
作者: yiwuyun    时间: 2015-1-27 12:38

你试试在文本后多加几个空行的回车。然后再把这几个空的回车删了再试。
作者: 慕夜蓝化    时间: 2015-1-27 13:10

回复 3# yiwuyun

天吶,为什么会发生这种事情?只要添加空行就会完整显示,哪怕一行都可以,
但是没有空行的话就不行,无法输出。
作者: DAIC    时间: 2015-1-27 13:31

回复 4# 慕夜蓝化


findstr命令的bug
在这里的输入重定向没什么作用,直接删掉吧。
作者: 慕夜蓝化    时间: 2015-1-27 18:33

回复 5# DAIC


    嗯。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2