Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Подсчет количества целых чисел в текстовом файле (http://forum.oszone.net/showthread.php?t=193363)

Hardip 08-12-2010 13:04 1560940

Подсчет количества целых чисел в текстовом файле
 
Нужно создать командный файл, который выполняюет подсчет количества целых чисел в текстовом файле. Считать, что слова в файле записаны в формате "одно слово в строке". Слово – это целое число или последовательность букв (начинающаяся с буквы). Имя файла задается первым параметром КФ. Как это сделать, подскажите пожалуйста.

SendMessage 08-12-2010 13:39 1560970

Код:

@echo off
for /f %%i in ('findstr /x "[0-9]*" %1') do set /a n+=1
echo %n%


Hardip 08-12-2010 13:56 1560986

Цитата:

Цитата SendMessage

Код:

@echo off  for /f %%i in ('findstr /x "[0-9]*" %1') do set /a n+=1  echo %n%
Может я где то не прав, но помоему, каждый раз при выполнении ответ будет увеличиваться. Оно же нигде не обнуляется?
Код:

do set /a n+=1
И у меня допустим при вводе
Цитата:

546
апрпр
пр
2
результат = 1

SendMessage 08-12-2010 14:15 1561008

Цитата:

Цитата Hardip
Может я где то не прав, но помоему, каждый раз при выполнении ответ будет увеличиваться. Оно же нигде не обнуляется? »

При каждом запуске батника подсчет идет по новой.
Цитата:

Цитата Hardip
И у меня допустим при вводе
Цитата:
546
апрпр
пр
2
результат = 1 »

Код:

for /f %%i in ('findstr "[0-9]" %1') do set /a n+=1

Hardip 08-12-2010 14:35 1561027

Вложений: 1
Разве каждый раз новый ответ это верно??? Скрин я приложил. Хотя первый раз считает верно :)

SendMessage 08-12-2010 14:49 1561039

Цитата:

Цитата Hardip
Разве каждый раз новый ответ это верно??? Скрин я приложил. Хотя первый раз считает верно »

Это потому что ты из консоли запускаешь.
Ну сделай так:
Код:

@echo off
set n=0
for /f %%i in ('findstr "[0-9]" %1') do set /a n+=1
echo %n%



Время: 04:04.

Время: 04:04.
© OSzone.net 2001-