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

[文本处理] [已解决]批处理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 精分了?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
踏实一些点.不要着急.你想要的时间都会给你.2

回复 5# DAIC


    嗯。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

回复 4# 慕夜蓝化


findstr命令的bug
在这里的输入重定向没什么作用,直接删掉吧。
1

评分人数

TOP

回复 3# yiwuyun

天吶,为什么会发生这种事情?只要添加空行就会完整显示,哪怕一行都可以,
但是没有空行的话就不行,无法输出。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

你试试在文本后多加几个空行的回车。然后再把这几个空的回车删了再试。

TOP

在运行完:
  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
复制代码
又能够正常显示了 = = ,但是我关闭之后,又重新测试了一下,不行了。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

返回列表