Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] список каталогов, где находятся 2 и более файлов

Ответить
Настройки темы
CMD/BAT - [решено] список каталогов, где находятся 2 и более файлов

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


суть в чем. есть много каталогов, где находятся файлы *.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 чтото не так
можно такое зделать?
спасибо за внимание

Отправлено: 09:41, 27-02-2010

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата neprotiv:
по 2 (и более) *.txt или по 2 (и более) *.doc »
Код: Выделить весь код
@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
)

Отправлено: 10:32, 27-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


чтото не то....не работает...не выдает ошибку, не создает список
amel27, у вас оно точно работает?

Отправлено: 10:53, 27-02-2010 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата neprotiv:
у вас оно точно работает?»
тестовое окружение:
Код: Выделить весь код
C:\TEST\папка1\файл1.txt
C:\TEST\папка1\файл2.txt
C:\TEST\папка1\файл3.doc

C:\TEST\папка2\файл1.txt
C:\TEST\папка2\файл2.doc

C:\TEST\папка3\файл1.txt
C:\TEST\папка3\файл2.doc
C:\TEST\папка3\файл3.doc
результат работы скрипта (на консоли):
Код: Выделить весь код
C:\TEST\папка1\.
C:\TEST\папка3\.
как перенаправить вывод в файл:
Код: Выделить весь код
test.cmd >test.log
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:05, 27-02-2010 | #4


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


хм..странно но заработало...большое вам спасибо за помощь

Отправлено: 11:37, 27-02-2010 | #5


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


amel27, работает..но както не правильно.
показывает нужные директории и консоль закрывается
а если добавить эту строку:
test.cmd >test.log

то оно както странно сохраняет. на консоле показывает директории (и никуда не исчезает),
но когда открываешь лог то оно показывает сначала одну название папки, потом две, потом три итд.
а как только доходит до последней папки сразу все сначала записывается лог, при этом на консоле ничего не пишется

проверте это просто скопировав эти три тестовые папки по нескольку раз пожалуйста

Отправлено: 13:09, 27-02-2010 | #6


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата neprotiv:
скопировав эти три тестовые папки по нескольку раз пожалуйста »
куда скопировав?.. давайте полный (воспроизводимый) расклад:
структура папок, входные параметры, результат работы батника/лог

Отправлено: 15:33, 27-02-2010 | #7


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


при запуске сот строкой - 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

Отправлено: 04:05, 28-02-2010 | #8


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата neprotiv:
плюс одна строчка в конце »
эта строчка не из батника, а строка запуска этого батника
если нужно сразу из батника в файл, то можно так:
Код: Выделить весь код
@Echo Off

Set DIR=C:\TEST
Set LOG=C:\TEST\TEST.LOG

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 >>"%LOG%"
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:49, 28-02-2010 | #9


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


amel27, большое вам спасибо. теперь работает как часы
спасибо

Отправлено: 01:08, 01-03-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] список каталогов, где находятся 2 и более файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Где находятся протоколы проверки дисков? ES Microsoft Windows NT/2000/2003 6 15-07-2009 15:51
FTP/File - Если сажаю ftp сервер на другой порт, не грузится список каталогов. mitiya Сетевые технологии 11 29-03-2009 19:40
Интерфейс - [решено] Список файлов не обновляется автоматически при создании\удалении файлов на dfs-шарах. Serg_T Microsoft Windows 2000/XP 2 19-09-2008 02:12
Тормозит обзор файлов и каталогов в сети denbessonov Сетевые технологии 6 10-08-2005 14:09
Удаление неудаляемых файлов и каталогов Kasper Хочу все знать 52 14-05-2004 00:29




 
Переход