Intexid
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Maza_Faka igor_andreev спасибо друзья, попробую разобраться, пока для меня это слишком сложно, не все понимаю, что там написано пока вот так придумал делать: Код: if -%~x1 neq - ( echo Eto ne papka: u faila est rasshirenie pause exit ) set count=0 for %%Y in (%1\*) do set /a count=count+1 for /d %%Z in (%1\*) do set /a count=count+1 if %count% neq 0 ( echo Eto papka i v nei %count% elementov pause exit ) echo Eto papka, no ona pusta pause exit | подробно: if -%~x1 neq - ( # проверяем, есть ли у файла расширение. если есть, то: echo Eto ne papka: u faila est rasshirenie # посылаем юзера на это расширение и уходим не оглядываясь pause exit ) # если расширения не было, то: set count=0 # создаем переменную count for %%y in (%1\*) do set /a count=count+1 # последовательно пересчитываем все только файлы for /d %%z in (%1\*) do set /a count=count+1 # приплюсовываем все только папки if %count% neq 0 ( # если результат отличен от нуля, то: echo Eto papka i v nei %count% vlozhennyh elementov # сообщаем кол-во вложенных элементов и выходим pause exit ) # если результат был равен нулю, то: echo Eto papka, no ona pusta # сообщаем, что это папка, но вложенных эл-тов не найдено pause exit этот метод работает прекрасно, но ровно до тех пор, пока переменная и for'ы находятся в позиции else, т.е. вне скобок if если действия на "да" и "нет" в if'е просто поменять местами (изменив соответственно условие на if NOT), то он не то что бы считать начинает неправильно, он просто аварийно завершается! ну ПОЧЕМУ?, уменя уже волос на голове не осталось, я вырвал их все, почему в скобках это не работает? вот код, который не работает: Код: if not -%~x1 neq - ( set count=0 for %%Y in (%1\*) do set /a count=count+1 for /d %%Z in (%1\*) do set /a count=count+1 if %count% neq 0 ( echo Eto papka i v nei %count% elementov pause exit ) echo Eto papka, no ona pusta pause exit ) echo Eto ne papka: u faila est rasshirenie pause exit |
| Всего записей: 24 | Зарегистр. 02-10-2008 | Отправлено: 13:04 24-02-2009 | Исправлено: Intexid, 13:17 24-02-2009 |
|