Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] вывести количество строк в тхт файлах

Ответить
Настройки темы
Любой язык - [решено] вывести количество строк в тхт файлах

Ветеран


Сообщения: 558
Благодарности: 5

Профиль | Отправить PM | Цитировать


Здравствуйте, подскажите пожалуйста как можно посчитать количество строк в тхт файлах?

Есть папка CONTENT, в ней еще куча папок, в которых есть тхт файлы. Я задаю имена файлов, которые мне нужны. (*.txt - все тхт файлы, start.txt - все файлы, которые найдутся с этим названием). Поиск ведется по всем папках, которые входят в папку CONTENT. Далее скрипт выводит список всех файлов, которые он нашел, в виде пути к файлу (каждый путь с новой строки). После каждого пути рядом справа скрипт через дефис выводит количество строк для данного файла. А ниже (после списка всех файлов) скрипт должен вывести сумму всех строк списка.

Пример:
Я задал файл start.txt

Скрипт вывел:

Код: Выделить весь код
C:\OneDrive\work\CONTENT\test\start.txt - 12
C:\OneDrive\work\CONTENT\111\start.txt - 18
C:\OneDrive\work\CONTENT\kron\start.txt - 2
C:\OneDrive\work\CONTENT\trava\start.txt - 458
490

Отправлено: 13:24, 18-09-2015

 

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Alexander_88, Была проблема с исключениями папок с пробелами в именах. Исправил, пробуйте.
Код: Выделить весь код
@Echo Off
cls
rem                  Сумма    Папка                      Маска          Список исключений если есть
	Call :Count "NTotal" "C:\OneDrive\work\CONTENT" "fileslink.txt"
	Echo === NTotal=%NTotal%

	Call :Count "NTotal" "C:\OneDrive\work\CONTENT" "fileslink.txt" "\01 stop start\" "\01 folder1\fileslink.txt"  
	Echo === NTotal=%NTotal%
pause
Exit /B

:Count
	2>nul Del ~Exclude.tmp
	:Begin
		>>~Exclude.tmp Echo %~4
		Shift /4
		If Not "%~4"=="" GoTo :Begin

	Set Comm="Xcopy /L /E /EXCLUDE:~Exclude.tmp "%~2\%~3?" "%Tmp%\" | findstr.exe /I /R /C:"^%~3$""
	Echo %3 |>nul 2>&1 FindStr /C:"*" /C:"?" &&Set Comm="Xcopy /L /E /EXCLUDE:~Exclude.tmp "%~2\%~3" "%Tmp%\" | findstr.exe /I /C:":""

	Set /A %~1=0
	For /F "usebackq delims=" %%f In (`%Comm%`) Do (
		Set /A NF=0
		For /F "usebackq tokens=1* delims=:" %%i In (`FindStr /R /N /C:".*" "%%f"`) Do Set /A NF=%%i
		Call Echo %%NF%% = %%f
		Call Set /A %~1+=%%NF%%
	)
	Del ~Exclude.tmp	
Exit /B
Чтобы исключить целиком папку, укажите например "\01 stop start\"
Чтобы исключить конкретный файл, то так: "\01 folder1\fileslink.txt"
Папок, файлов может быть несколько. В кавычках через пробелы.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 29-10-2021 в 20:27.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:17, 29-10-2021 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 558
Благодарности: 5

Профиль | Отправить PM | Цитировать


megaloman, Спасибо, работает теперь исключение

Отправлено: 19:44, 30-10-2021 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] вывести количество строк в тхт файлах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Скопировать содержимое одного тхт файла столько раз, сколько строк в другом Alexander_88 Скриптовые языки администрирования Windows 4 11-06-2015 11:10
VBS/WSH/JS - помогите написать на javascript код для поиска и фильтрации в тхт файле строк. spiritmen Скриптовые языки администрирования Windows 0 06-02-2015 23:42
VBS/WSH/JS - Количество примечаний в Word-файлах Fresh96 Скриптовые языки администрирования Windows 9 20-03-2014 19:26
VBS/WSH/JS - Удаление строк в INI файлах gen0m.rsw Скриптовые языки администрирования Windows 5 27-06-2013 15:03
Сортировщик строк в текстовых файлах. borison Программное обеспечение Windows 2 04-02-2007 10:22




 
Переход