使用Windows批处理为目录中的所有.ui文件运行uic

时间:2015-12-14 11:40:19

标签: qt batch-file windows-7

我可以获得Qt .ui文件列表,如下所示:

D:\programing\qtproject\ui\designer>dir *.ui /B
main.ui
mainmenu.ui
mainwindow.ui

我现在所做的就是我为每一个人手动运行uic,因为我正在使用的IDE(QtCreator,具有讽刺意味的是一个应与Qt完全兼容的IDE)不具备这一点。

我可以使用从uic获取的文件列表运行dir *.ui /B吗?我希望如果这在所有子目录上递归工作。

1 个答案:

答案 0 :(得分:0)

好的,我用一些有用的答案破解了它:

@echo off
rem Runs uic command over all files in all subdirectories
rem For loop arguments explained here: http://stackoverflow.com/a/3433012/607407
rem start command arguments explained here: http://stackoverflow.com/a/154090/607407
rem       /B is why the start creates no additional windows: http://stackoverflow.com/a/324549/607407

for /f %%F in ('dir *.ui /S /B') do start "" /B "uic" %%F -o %%~dpFui_%%~nF.h

要禁用递归(子目录),请删除/S命令中的dir参数。