通过 BAT 脚本将构建的 dll 文件移动到特定文件夹?

Posted

技术标签:

【中文标题】通过 BAT 脚本将构建的 dll 文件移动到特定文件夹?【英文标题】:Move built dll file to specific folder by BAT script? 【发布时间】:2015-07-25 18:36:20 【问题描述】:

我正在使用 Qt Creator 在 Windows 7 上构建一个共享库。因此它会生成一个

myLib.dll 和一个 myLib.lib

有没有办法让 myLib.dll 文件在创建后自动移动到特定目录?

【问题讨论】:

【参考方案1】:

这可以在根据Qt Documentation - Variables 完全成功编译后作为发布链接作业自动完成。

在项目的 .pro 文件中添加如下一行:

QMAKE_POST_LINK += $(COPY_FILE) "$$DESTDIR_TARGET$$TARGET_EXT" "C:\Destination\Directory\For Created DLL"

如果DESTDIR 之前没有在项目中定义,或者当QMAKE 解析用于创建MakeFile 的行时DESTDIR_TARGET 不存在,则使用以下内容。

QMAKE_POST_LINK += $(COPY_FILE) "$$OUT_PWD/$$TARGET$$TARGET_EXT" "C:\Destination\Directory\For Created DLL"

如果$$TARGET_EXT 被空字符串替换,请使用固定的.dll 而不是上面一行中的$$TARGET_EXT

当然也可以移动 DLL,而不是使用以下 3 行之一来复制它:

QMAKE_POST_LINK += $(MOVE) "$$DESTDIR_TARGET$$TARGET_EXT" "C:\Destination\Directory\For Created DLL"
QMAKE_POST_LINK += $(MOVE) "$$OUT_PWD/$$TARGET$$TARGET_EXT" "C:\Destination\Directory\For Created DLL"
QMAKE_POST_LINK += $(MOVE) "$$OUT_PWD/$$TARGET.dll" "C:\Destination\Directory\For Created DLL"

但在 Windows 上也有 QMAKE 变量 DLLDESTDIR 直接在 .pro 文件中指定链接后应将创建的 DLL 复制到的目录。

DLLDESTDIR="C:\Destination\Directory\For Created DLL"

注意:我无法测试此处为 Windows 编写的任何内容。我只能确认上面写的所有内容都不适用于 Linux,因为与 Windows 相比,Linux 上的库管理完全不同。

【讨论】:

以上是关于通过 BAT 脚本将构建的 dll 文件移动到特定文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

我是否可以使用bat脚本从一个闪存驱动器将文件夹安装到具有特定名称并更改驱动器的另一个闪存驱动器

通过 Python 脚本将多个输入传递给 .bat 文件

bat批处理 识别文件中的特定字符并移动到有相同特定字符的文件夹中去?

如何将 .bat 文件中的变量导入 PowerShell 脚本?

用于重命名和移动文件的 Python、bat 文件和任务计划程序 - 在 Windows 10 中无法正常工作

使用windows脚本移动文件