Я хочу посчитать количество строк в файле, используя пакет
Конкретное решение
Из командной строки:
F:\test>for /f "usebackq" %b in (`type abc.csv ^| find "" /v /c`) do @echo line count is %b
line count is 1
Из командного файла (countlines.cmd):
@echo off
Setlocal EnableDelayedExpansion
for /f "usebackq" %%b in (`type abc.csv ^| find "" /v /c`) do (
echo line count is %%b
)
)
Пример:
F:\test>countlines
line count is 1
F:\test>
Гибкое решение
Используйте следующий пакетный файл (countlines.cmd):
@echo off
Setlocal EnableDelayedExpansion
for /f "usebackq" %%a in (`dir /b /s %1`) do (
echo processing file %%a
for /f "usebackq" %%b in (`type %%a ^| find "" /v /c`) do (
echo line count is %%b
set /a lines += %%b
)
)
echo total lines is %lines%
Заметки:
- Общее количество строк хранится в
%lines%
.
- Пакетный файл поддерживает подстановочные знаки.
- Твик
echo ...
команды в зависимости от обстоятельств.
Использование:
countlines filename_expression
Пример:
F:\test>countlines *.csv
processing file F:\test\abc.csv
line count is 1
processing file F:\test\def.csv
line count is 1
total lines is 2
Дальнейшее чтение