Я хочу порахувати кількість рядків у файлі, використовуючи пакет
Конкретне рішення
З командного рядка:
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
Подальше читання
- Індекс AZ командного рядка Windows CMD - відмінна довідка для всіх речей, що стосуються cmd-рядка Windows.
- dir - Відображення списку файлів і папок.
- find - Пошук текстового рядка у файлі та відображення всіх рядків, де він знайдений.
- for / f - команда Loop проти результатів іншої команди.
$a = (get-content "C:\abc.csv" | measure-object).count
$ змінна тепер містить кількість рядків у вашому файлі.