预构建事件:使用XCopy将文件夹及其子文件和文件复制到构建目录中

时间:2012-09-25 06:43:36

标签: c# winforms visual-studio-2010

我有Window应用程序,我有一些插件&这是我放在My Application文件夹结构中的ChildPlugins(参见文件夹结构图)。我使用SVN作为源代码控制,因此每个文件夹都有.SVN个文件夹。

这是我的问题:

下图是插件的目录结构。所有文件夹都有一些与插件相关的文件。现在我要复制所有文件夹(使用SubFolders)&它是使用预建事件的文件到我的应用程序构建输出路径。

**Plugins Directory structure**

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

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

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

感谢。

4 个答案:

答案 0 :(得分:24)

我用过这个:

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

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

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

答案 1 :(得分:21)

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

答案 2 :(得分:13)

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

xcopy "$(ProjectDir)MyFolder\*.*" "$(TargetDir)\MyFolder" /Y /I /E

答案 3 :(得分:0)

这里是将Assets文件夹(位于项目文件夹中)复制到bin(调试或发布...)\资产中的示例

{
    "_id": "cgx", 
    "capacity": 1000000000, 
    "chunks": [
        {
            "prs": [
                {
                    "segs": [
                        {
                            "node_id": "server-0",
                        }
                    ]
                }
            ]
        },
        {
            "prs": [
                {
                    "segs": [
                        {
                            "node_id": "server-2",
                        }
                    ]
                },
               {
                    "segs": [
                        {
                            "node_id": "server-3",
                        }
                    ]
                }
            ]
        }
    ], 
    "health": "healthy", 
    "status": "ok"
}

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