Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Формирование списка файлов (http://forum.oszone.net/showthread.php?t=202683)

Sat_Kelman 22-03-2011 14:08 1640992

Формирование списка файлов
 
День добрый!

Существует такая иерархия: На диске С лежит папка In, в нее закидываются папки вида ФИО - ААА, ФИО - ВВВ, ФИО - С АА и так далее (то есть фаилия имя отчество, далее дефис, а потом может быть что угодно), в каждой такой папке лежать файлы letter.arj, letter.doc. Папки могут удаляться, могут добавляться новые, но файлы в них всегда одинаково называются (letter.arj, letter.doc)
Нужно написать батник который будет формировать файл List следующего содержания
C:\In\ФИО - ААА\letter.*
C:\In\ФИО - ВВВ\letter.*
C:\In\ФИО - С АА\letter.*

по сути меняется только то, что выделено. Может батник как-то создаст список всех каталогов в папке In и потом дописать просто \letter.*
Условие - батник будет лежать на другом диске.
Не могу осилить, помогите чем сможете.

gora 23-03-2011 13:31 1641888

Попробуйте так:
Код:

@Echo Off
:: Вывод в файл List будет в кодировке кириллица Windows (1251)
:: Если нужно в DOS кодировке, то закомментировать следующую строку
ChCp 1251>Nul
:: Путь к исходной папке
Set folder=c:\In

(For /F "UseBackQ Delims=" %%i In (`Dir "%folder%" /B /ON 2^>Nul`) Do If Exist %folder%\%%i\letter.arj If Exist %folder%\%%i\letter.doc Echo %folder%\%%i\letter.*)>List

Проверяется одновременное наличие обоих указанных файлов.
Цитата:

Цитата Sat_Kelman
(letter.arj, letter.doc) »

Файл List формируется рядом с батником.

Busla 23-03-2011 19:37 1642189

gora, а зачем UseBackQ?
сортировать лучше уже отфильтрованный итог - может получиться гораздо быстрее
почему не for /D или, если уж на то пошло, не dir /AD ?
%folder%\%%i\letter.arj тоже надо в кавычки
перед echo - собаку

gora 23-03-2011 21:45 1642282

Цитата:

Цитата Busla
а зачем UseBackQ?
сортировать лучше уже отфильтрованный итог - может получиться гораздо быстрее
почему не for /D или, если уж на то пошло, не dir /AD ? »

Предложите свой вариант, я не утверждаю, что мой лучший.
Цитата:

Цитата Busla
%folder%\%%i\letter.arj тоже надо в кавычки »

Видимо Вы правы, но вариант работающий, проверено на структуре папок приведенных в первом посте.
Цитата:

Цитата Busla
перед echo - собаку »

Зачем?

Busla 24-03-2011 09:27 1642582

Цитата:

Цитата gora
Цитата Busla:
перед echo - собаку »
Зачем? »

каюсь - не нужна


Время: 17:43.

Время: 17:43.
© OSzone.net 2001-