![]() |
список каталогов, где находятся 2 и более файлов
суть в чем. есть много каталогов, где находятся файлы *.txt *.doc
можно ли зделать так чтоб создавало список каталогов где находятся по 2 (и более) *.txt или по 2 (и более) *.doc тоесть если папка1\файл1.txt папка1\файл2.txt папка1\файл3.doc папка2\файл1.txt папка2\файл2.doc папка3\файл1.txt папка3\файл2.doc папка3\файл3.doc создало отчет что именно в папка1 и папка3 чтото не так можно такое зделать? спасибо за внимание |
Цитата:
Код:
@Echo Off |
чтото не то....не работает...не выдает ошибку, не создает список
amel27, у вас оно точно работает? |
Цитата:
Код:
C:\TEST\папка1\файл1.txt Код:
C:\TEST\папка1\. Код:
test.cmd >test.log |
хм..странно но заработало...большое вам спасибо за помощь
|
amel27, работает..но както не правильно.
показывает нужные директории и консоль закрывается а если добавить эту строку: test.cmd >test.log то оно както странно сохраняет. на консоле показывает директории (и никуда не исчезает), но когда открываешь лог то оно показывает сначала одну название папки, потом две, потом три итд. а как только доходит до последней папки сразу все сначала записывается лог, при этом на консоле ничего не пишется проверте это просто скопировав эти три тестовые папки по нескольку раз пожалуйста |
Цитата:
структура папок, входные параметры, результат работы батника/лог |
при запуске сот строкой - test.cmd > test.log
на консоле видно что проверяет. как только закончило проверку так сразу создается лог файл. но он сохраняется бесконечно. вот так текст в лог файое: (после того как сразу создался файл) C:\TEST\папка1\. потом обновляется (через секунду или 3) C:\TEST\папка1\. C:\TEST\папка3\. потом (через секунду или 3) C:\TEST\папка1\. C:\TEST\папка3\. C:\TEST\папка5\. а когда эти папки заканчиваются то вновь переписывается лог и вновь показывает C:\TEST\папка1\. а на консоле как показывало так и показывает C:\TEST\папка1\. C:\TEST\папка3\. C:\TEST\папка5\. если закрыть test.cmd то в лог файле сохранится лишь та часть информации которая успела сохранится тот батник. который вы написали плюс одна строчка в конце. извините. я в этом только начинаю разбиратся.может не туда строчку скопировал @Echo Off Set DIR=C:\TEST Set MSK=*.txt *.doc For /R "%DIR%" %%i In (.) Do If /I Not "%DIR%\."=="%%i" ( Set ERR=& PUSHD %%i For /F %%a In ('2^>Nul DIR /B/A-D *.txt^|Find /C /V ""') Do If %%a GTR 1 Set ERR=1 For /F %%a In ('2^>Nul DIR /B/A-D *.doc^|Find /C /V ""') Do If %%a GTR 1 Set ERR=1 POPD& If Defined ERR Echo %%i ) test.cmd > test.log |
Цитата:
если нужно сразу из батника в файл, то можно так: Код:
@Echo Off |
amel27, большое вам спасибо. теперь работает как часы
спасибо |
Время: 01:14. |
Время: 01:14.
© OSzone.net 2001-