CMD/BAT - Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от

Ответить
 • Просмотры: 1
Аватара пользователя
Ksenya

CMD/BAT - Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от

Сообщение Ksenya »

@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

Re: CMD/BAT - Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от

Сообщение Ksenya »

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

ловом диспетчере Total Commander?
Аватара пользователя
Ksenya

Re: CMD/BAT - Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от

Сообщение Ksenya »

Гадаем…



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



Код:

Код: Выделить всё

For /r "%disk%\" %%i In (.) Do Set /a cnt+=1

— при отсутствии выделенного символа «for /r» начнёт опрос с текущего каталога диска «с:», который на момент выполнения пакетного файла может отличаться от корневого.



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

Re: CMD/BAT - Почему количество подсчитанных каталогов с помощью команды For (>>ниже) отличается от

Сообщение kiripanda »

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


Цитата:



c:\.

c:\blah\.

c:\blah\blah\.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»