Tipulatoid
![](http://forum.ru-board.com/board/avatars/AplomadoFalcon.gif)
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору igor_andreev Если честно, не разобрался я Не дорос еще до такого кода. Также подумал, что для той задачи подсчитать кол-во пробелов - не выход, т.к. слово может быть отделено и 2-мя и 3-мя и сколько хошь пробелами. Решил полностью задачу Ysan Надеюсь, она сюда заглянет. Знаю, что коряво - создает темповые файлы, допускает не более 26 слов в строке, опять же проблемы со спецсимволами (но тут похоже можно обойти - просто записывать слова в temp.txt в кавычках) и долго на больших файлах, но как умею Код: @echo off setlocal enabledelayedexpansion if "%~1"=="" ( echo Не задан текстовый файл для анализа goto end) set file=%~1 ::Выяснение кол-ва слов for /f "tokens=1-26 delims= " %%a in (%file%) do ( ( echo %%a echo %%b echo %%c echo %%d echo %%e echo %%f echo %%g echo %%h echo %%i echo %%j echo %%k echo %%l echo %%m echo %%n echo %%o echo %%p echo %%q echo %%r echo %%s echo %%t echo %%u echo %%v echo %%w echo %%x echo %%y echo %%z )>>temp.txt ) findstr /r /v "Режим вывода команд на экран (ECHO) отключен." temp.txt>words.del del /q temp.txt set counter=0 for /f "tokens=*" %%a in (words.del) do ( set /a counter=!counter!+1) del /q words.del set words_quantity=%counter% ::Выяснение кол-ва строк ::Выяснение кол-ва непустых строк set counter=0 for /f "tokens=*" %%a in (%file%) do ( set /a counter=!counter!+1) ::Выяснение кол-ва пустых строк set count=0 for /f "tokens=*" %%a in ('findstr /r /v /n "." %file%') do ( set /a count=!count!+1) ::Выяснение общего кол-ва строк set /a line_quantity=%counter%+%count% ::Выяснение кол-ва символов ::Выяснение размера текстового файла for %%a in (%file%) do set /a "file_length=%%~za" ::Выяснение кол-ва непечатаемых символов в конце каждой строки set /a invisible_symbols=2*%line_quantity% ::Вычет невидимых символов от размера файла set /a symbols_quantity=%file_length%-%invisible_symbols%-1 echo Всего символов (вместе с пробелами) в файле %file%: %symbols_quantity% echo Всего слов в файле %file%: %words_quantity% echo Всего строк в файле %file%: %line_quantity% :end | Добавлено: Elroir Цитата: Кстати, откуда взялась цифра 4, которая отнимается от длины строки? | Ну мы записываем строку в темповый файл с добавлением кавычек в начало и конец строки - чтоб не мучаться со спецсимволами - это 2 байта. Еще 2 байта - символы возврата каретки и перевода строки all Просьба покритиковать код | Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 06:59 01-03-2007 | Исправлено: Tipulatoid, 07:28 01-03-2007 |
|