25

我有 Window 应用程序,我有一些插件,它是 ChildPlugins,我放置在我的应用程序文件夹结构中(请参阅文件夹结构图像)。我使用 SVN 作为源代码控制,所以每个文件夹都有.SVN文件夹。

这是我的问题:

下图是我的插件目录结构。所有文件夹都有一些与其插件相关的文件。现在我想使用 Pre Built Event 将所有文件夹(带有 SubFolders)和它的文件复制到我的 Application Build 输出路径。

**插件目录结构**

在网上搜索后,我发现通过使用 XCopy 我可以实现我想要的。通过使用下面的代码,我可以复制 Plugins 目录和它的文件,但不能复制它的子文件夹和子文件夹 Files 。

xcopy "$(SolutionDir)Plugins\*.*" "$(SolutionDir)Windows\Host\Host.GUI\bin\x86\$(ConfigurationName)\Plugins\" /Y/D

我想复制文件夹,它是所有文件的所有子文件夹,并且想要排除.SVN. 谁能指出我该怎么做?

谢谢。

4

4 回答 4

30

我用过这个:

xcopy "$(ProjectDir)MyFolder\*.*" "$(SolutionDir)ConsoleApplication1\bin\Release\MyFolder" /Y /I /E

并且工作正常,当我编译包含所有文档的项目时,文件夹“MyFolder”出现在我的“Release”文件夹中。

这里要指出的是,$(SolutionDir) 之后的路径会根据您的解决方案的名称而改变,我的解决方案是 ConsoleApplication1。

于 2013-03-05T16:19:05.520 回答
25

您需要添加 /E 开关来复制子目录(包括空目录)。

于 2012-09-25T06:49:15.233 回答
17

如果它不需要具有解决方案名称或配置类型的路径,则更好:

xcopy "$(ProjectDir)MyFolder\*.*" "$(TargetDir)\MyFolder" /Y /I /E
于 2015-07-23T14:20:04.673 回答
1

这是将 Assets 文件夹(位于项目文件夹中)复制到 bin(debug or release ...)\Assets 的示例

<Target Name="BeforeBuild">
    <Exec Command="xcopy &quot;$(ProjectDir)Assets\*.*&quot; &quot;$(ProjectDir)bin\$(Configuration)\Assets&quot; /Y /I /E" />
</Target>

注意,双引号替换为特殊词

于 2019-04-24T10:51:40.670 回答