windows - 如何从目录中的所有文本文件中获取总行数

标签 windows text command-line count

我有一个包含数百个文本文件的目录,我需要一种方法来计算所有 txt 文件的总行数。我使用的是 Windows,我认为通过命令提示符很容易找到,但以下仅返回文件数:

C:\> dir /b c:\temp | find /c /v “~~~”

这只是一个例子,但当我期望它遍历每个文件并计算没有 ~~~ 的总行数时,它返回了没有“~~~”的文件数。任何获得总数的建议将不胜感激。

最佳答案

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\t w o"
SET /a countfiles=0
SET /a countlines=0
FOR /f "delims=" %%a IN (
  'dir /b /a-d "%sourcedir%\*" '
  ) DO (
 SET /a countfiles+=1
 FOR /f "delims=" %%c IN ('find /c /v "~~~" "%sourcedir%\%%a"') DO CALL :setcount %%c
)
SET cou

GOTO :EOF

:setcount
IF "%2" neq "" shift&GOTO setcount
SET /a countlines +=%1
GOTO :EOF

您需要更改 sourcedir 的设置以适合您的情况。

对于在目录中找到的每个文件名,计算一个文件,然后将find 命令的输出传递给子例程setcount,通常

---------- U:\SOURCEDIR\T W O\FILE4.TXT: 3

因为我们想要这个字符串中的最后一项,我们简单地移动参数直到第二个不存在,因此第一个必须是 find 的行数,所以添加它。

关于windows - 如何从目录中的所有文本文件中获取总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644046/

相关文章:

java - Window注册表创建 key 在java中不起作用

windows - 更改 Windows 7 的登录过程

c++ - Qt 不发射信号

windows - 在 Windows 中将目录添加到 PATH 环境变量

linux - 在linux命令行上创建串行邮件

c++ - 带有IMPLEMENT_DYNCREATE的Microsoft Visual Studio C++ 2019编译器错误

string - 是否有可用于测试 Unicode 相关算法的测试?

javascript - 如何使用 jQuery 删除两个元素之间的文本

python - 将文本文件导入mysqldb

command-line - Xcode 命令行工具 (XCode 4.6) 从终端运行单元测试