将文件从一个项目复制到另一个使用后build立事件… VS2010
我有一个在其中的3个项目的解决scheme。 我需要将视图从一个项目复制到另一个项目。 我能够通过后构build事件复制创build的DLL,如下所示:
所以我想复制项目之一'/Views/ModuleHome/Index.cshtml'中的文件到项目2中的文件夹。如何通过后生成事件将文件复制到我想要的项目? 谢谢
xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home"
如果你想复制整个文件夹:
xcopy /E /Y "$(ProjectDir)Views" "$(SolutionDir)MEFMVCPOC\Views"
更新:这是工作版本
xcopy "$(ProjectDir)Views\ModuleAHome\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\ModuleAHome\" /Y /I
以下是一些常用的xcopy
开关:
/I - treat as a directory if copying multiple files /Q - Do not display the files being copied. /S - Copy subdirectories unless empty. /E - Copy empty subdirectories. /Y - Do not prompt for overwrite of existing files. /R - Overwrite read only files.
xcopy "your-source-path" "your-destination-path" /D /y /s /r /exclude:path-to-txt- file\ExcludedFilesList.txt
注意源path和目标path中的引号,但不包括exludelist txt文件的path。
ExcludedFilesList.txt的内容如下:.cs \
我正在使用此命令将文件从我的解决scheme中的一个项目复制到另一个项目,并排除.cs文件。
/D Copy only files that are modified in sourcepath /y Suppresses prompting to confirm you want to overwrite an existing destination file. /s Copies directories and subdirectories except empty ones. /r Overwrites read-only files.
xcopy“$(TargetDir)* $(TargetExt)”“$(SolutionDir)\ Scripts \ MigrationScripts \ Library \”/ F / R / Y / I
/ F – 显示完整的源文件名和目标文件名
/ R – 这将覆盖只读文件
/ Y – 禁止提示覆盖现有文件(s)
/我 – 假设目的地是目录(但必须以)
一个小诀窍 – 在目标中,你必须以字符\结束告诉xcopy目标是目录,而不是文件!
调用Batch
文件将运行Xcopy
所需的文件源到目的地
call "$(SolutionDir)scripts\copyifnewer.bat"
我这样使用它。
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)Lib\TIRM\x86\" /F /Y xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib\TIRM\x86\" /F /Y /F : Copy source is File /Y : Overwrite and don't ask me
注意这个的使用。 $(TargetDir)已经'\'“D:\ MyProject \ bin \”= $(TargetDir)
你可以在命令编辑器中findmacros
像以前的答复一样,我也build议xcopy
。 不过,我想用/exclude
参数添加到Hallgeir Engen的答案中。 这个参数似乎有一个错误,使得它不能处理长或包含空格的path名,因为引号不起作用。 path名称需要以“文档”转换为“DOCUME〜1”(根据此源文件 )为“DOS”格式。
所以,如果你想使用\ exclude参数,这里有一个解决方法:
cd $(SolutionDir) xcopy "source-relative-to-path-above" "destination-relative-to-path-above /exclude:exclude-file-relative-path
请注意,源path和目标path可以(也应该包含空格)位于引号内,而不是排除文件的path。
如果你想考虑平台 (x64,x86等)和configuration (debugging或发布),它会是这样的:
xcopy "$(SolutionDir)\$(Platform)\$(Configuration)\$(TargetName).dll" "$(SolutionDir)TestDirectory\bin\$(Platform)\$(Configuration)\" /F /Y