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

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

Ksenya 29-03-2011 23:49 1646833

Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от
 
@Echo Off
Set cnt=0
Set disk=c:
For /r "%disk%" %%i In (.) Do Set /a cnt+=1
Echo All folders=%cnt%
Pause
Exit
__
подскажите, почему такое происходит. очень интересно..

Ksenya 29-03-2011 23:51 1646834

- отличается от результата, полученного в фай-
ловом диспетчере Total Commander?

Iska 30-03-2011 00:30 1646852

Гадаем…

Вы случайно не про весь диск речь ведёте? Тогда это ошибка в пакетном файле:
Код:

For /r "%disk%\" %%i In (.) Do Set /a cnt+=1
— при отсутствии выделенного символа «for /r» начнёт опрос с текущего каталога диска «с:», который на момент выполнения пакетного файла может отличаться от корневого.

Расскажите про методику «получения результата в файловом диспетчере Total Commander» — я им не пользуюсь.

kiripanda 30-03-2011 00:51 1646868

Батник насчитывает на 1 больше потому, что корень диска тоже попадает в вывод
Цитата:

c:\.
c:\blah\.
c:\blah\blah\.


Время: 11:36.

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