Показать полную графическую версию : Почему количество подсчитанных каталогов с помощью команды 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
__
подскажите, почему такое происходит. очень интересно..
- отличается от результата, полученного в фай-
ловом диспетчере Total Commander?
Гадаем…
Вы случайно не про весь диск речь ведёте? Тогда это ошибка в пакетном файле:
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.