Board logo

标题: [文本处理] 批处理如何将find统计的行数结果设置为变量? [打印本页]

作者: qixiaobin0715    时间: 2020-10-30 10:14     标题: 批处理如何将find统计的行数结果设置为变量?

如题命令:find /c "#" a.txt
可以显示文件a.txt中含有“#”总共有多少行,可是如何将显示结果设为变量的值呢?
作者: Batcher    时间: 2020-10-30 11:00

回复 1# qixiaobin0715


参考:
http://bbs.bathome.net/thread-474-2-1.html#pid28474
作者: qixiaobin0715    时间: 2020-10-30 11:39

回复 2# Batcher

看了看链接中的帖子,又有不少收获。
用for以前还是有所了解的,在这里没有表达清楚。
我的意思是不用for,执行find /c "#" a.txt后会显示类似“---------- A.TXT: 25”的结果,能通过什么方法将显示结果set为变量。
作者: WHY    时间: 2020-10-30 19:14

不用 for 的话,那就管道传递,但管道会重新启动一个新的 cmd 进程,管道命令结束后,新的 cmd 进程结束,变量也就失效了。
  1. find /c "#" < a.txt | cmd /v /c "set /p n=&echo;!n!"
复制代码

作者: Batcher    时间: 2020-10-30 21:47

回复 3# qixiaobin0715


    find命令本身没有这个功能。可以改成findstr试试




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