![]() |
Условие для файлов в подпапках
Никак не получается совсем простой батник.
Нужно задать условие для запуска program1 если в каталоге откуда запускается батник и во всех подпапках данного каталога присутствуют файлы .jpg. После завершения работы program1 нужно запустить program2, но уже с условием, что в каталоге и всех подпапках присутствуют файлы .jpg и .png Поскажите, пожалуйста как это реализовать, а то совсем запутался. |
Писано на коленке, так что не проверял.
Код:
@echo off |
Elven, спасибо большое ! Всё работает.
|
Цитата:
Цитата:
Цитата:
Elven, можно проще записать: Скрытый текст
Код:
>nul 2>&1 dir /s /a:-d "*.jpg" && ( |
Iska,
Цитата Iska: Насколько я вижу, это не совсем то, что описано. Тут проверяется наличие хотя бы одного *.jpg в хотя бы одной папке » Это как раз то, что надо было (наличие хотя бы одного *.jpg). Мои извинения, сразу неправильно описал. P.S. По вашему коду тоже все работает. Спасибо ! |
Iska, с && это я, конечно, упустил.
|
Elven, строка "%errorlevel%" внутри конструкции в скобках будет выдавать неверный результат. Нужно использовать отложенное расширение переменных и строку "!errorlevel!".
А я бы сделал так: Код:
@echo off В фильме снимались: "calc.exe" -- в роли "program1", "notepad.exe" -- в роли "program2". :) |
Iska, а почему бы Ваше решение еще не укоротить?
Код:
>nul 2>&1 Dir /s /A:-D *.jpg && (start /wait Calc.exe & >nul 2>&1 Dir /s /A:-D *.png && start /wait notepad.exe) |
Цитата:
Цитата:
|
megaloman, думаю, коллега Iska, как и я, считает, что содержимое каталога после работы "program1" может изменяться.
Кстати, мой вариант должен работать быстрее, так как после нахождения первого подходящего файла дальнейший поиск прекращается. |
Цитата:
А если конкретнее, в папку ложится файл *.fb2, запускается программа fb2bin, которая извлекает картинки из fb2. И если среди картинок присутствует хотя бы одна *.jpg запускается «program1.exe», которая корректирует код fb2 меняя jpg на png. Затем запускается «program2.exe», а это IrfanView, котоорая конвертирует jpg в png. И fb2bin загоняет их обратно в файл fb2. Как-то так |
Время: 22:00. |
Время: 22:00.
© OSzone.net 2001-