PDA

Показать полную графическую версию : Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от


Ksenya
29-03-2011, 23:49
@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
- отличается от результата, полученного в фай-
ловом диспетчере Total Commander?

Iska
30-03-2011, 00:30
Гадаем…

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

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

kiripanda
30-03-2011, 00:51
Батник насчитывает на 1 больше потому, что корень диска тоже попадает в вывод
c:\.
c:\blah\.
c:\blah\blah\.




© OSzone.net 2001-2012