我在构建后事件中使用 XCOPY 将编译的 DLL 从其输出文件夹复制到主应用程序的输出文件夹。 DLL 被复制到主应用程序输出文件夹中的“模块”子文件夹,如下所示:

xcopy  "$(TargetPath)" "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\"

如果 Modules 文件夹存在,该命令可以正常工作,但我在测试期间发现,如果该文件夹不存在,则 XCOPY 不会创建它,并且命令失败。

如果文件夹不存在,是否有一个 XCOPY 开关会导致创建该文件夹?如果没有,如果文件夹不存在,我会在构建后事件中添加什么来创建文件夹?谢谢你的帮助。

最佳答案

我在命令行上尝试使用

D:\>xcopy myfile.dat xcopytest\test\

并且正确创建了目标目录。

如果没有,您可以使用 mkdir 命令创建目标目录,并启用 cmd 的命令扩展,例如
cmd /x /c mkdir "$(SolutionDir)Prism4Demo.Shell\$(OutDir)Modules\"

('/x' 启用命令扩展,以防它们在您的系统上默认未启用,我对 cmd 不太熟悉)

采用
cmd /?
mkdir /?
xcopy /?

了解更多信息 :)

关于如果指定目录不存在,XCOPY 切换到创建指定目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5175806/

10-14 17:07