• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

[CMD] Как создать батник для обработки файлов определённого типа

Melancholie

Новый пользователь
Сообщения
2
Симпатии
0
#1
задача такая: задается путь к файлам set "D=C:\Qt\pifagor\bin\repository\" и также есть батник для запуска одного файла с расширением .pfg:
CMD/BATCH:
set func_path=%func_name:.=\%

set repo_path=C:\Qt\pifagor\bin\

cd %repo_path%

cgen2 -f "%repo_path%repository\%func_path%\00.00\1.rig" "%repo_path%repository\%func_path%\00.00\1.cg%"
Надо сделать тоже самое, только чтобы не вводить название файла с расширением .pfg каждый раз, а взять все файлы с этим расширением из пути D, и запустить командой cgen2 -f
Как это сделать? Основная проблема в том, что я не знаю, как в цикле прописать изменяющиеся пути к файлам.
 
Последнее редактирование модератором:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,615
Симпатии
5,499
#2
Здравствуйте!
Добро пожаловать на SafeZone!

батник для запуска одного файла с расширением .pfg:
не заметил там такого расширения. Вместо этого некий cg% с каким-то потерянным процентом.

а взять все файлы с этим расширением из пути D
Что такое путь D? (диск D?)

Рекурсивно? Или один уровень каталога?
 

Melancholie

Новый пользователь
Сообщения
2
Симпатии
0
#3
Нет, D - это просто я так задала для удобства, чтобы ниже использовать. Вообще путь C:\Qt\pifagor\bin\repository\ Да, надо чтобы было рекурсивно.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,615
Симпатии
5,499
#4
CMD/BATCH:
set "func_path=%func_name:.=\%"

set repo_path=C:\Qt\pifagor\bin\repository

cd /d "%repo_path%"

for /f "delims=" %%a in ('dir /b /s /a-d "%repo_path%\*.pfg"') do cgen2 ...
И вместо ... подставляете нужные опции. Там, где нужно подставлять имя файла, пишите "%%a"
Если перед обработкой файла, требуется обязательный переход в папку, в которой он находится, пишите в строке с циклом (после do) cd /d "%%~dpa" & cgen2 ...
 
Последнее редактирование:
Сверху Снизу