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

Jig*_*ker 22 c# visual-studio-2010 winforms

我有Window Application,我有一些插件和它的ChildPlugins,我把它放在My Application文件夹结构中(参见文件夹结构图).我使用SVN作为源代码控制,所以每个文件夹都有.SVN文件夹.

这是我的问题:

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

**插件目录结构**

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

xcopy "$(SolutionDir)Plugins\*.*" "$(SolutionDir)Windows\Host\Host.GUI\bin\x86\$(ConfigurationName)\Plugins\" /Y/D
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

小智 25

我用过这个:

xcopy "$(ProjectDir)MyFolder\*.*" "$(SolutionDir)ConsoleApplication1\bin\Release\MyFolder" /Y /I /E
Run Code Online (Sandbox Code Playgroud)

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

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


Cra*_*sta 22

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


Ada*_*ley 14

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

xcopy "$(ProjectDir)MyFolder\*.*" "$(TargetDir)\MyFolder" /Y /I /E
Run Code Online (Sandbox Code Playgroud)