visual studio使用dos命令在生成项目时复制文件到指定目录
本人使用软件:vs2015
拷贝“项目1”的 bin目录 下, 项目配置的名称(“Release”,“Debug”)目录下,所有内容到“项目2”输出目录(存在直接覆盖):
xcopy $(SolutionDir)项目1名称\bin\$(ConfigurationName) $(SolutionDir)项目2名称\$(OutDir) /E /Y /F /I
删除项目输出文件目录中.xml和.pdb格式文件:
del $(SolutionDir)项目名称\$(OutDir)*.xml
del $(SolutionDir)项目名称\$(OutDir)*.pdb
1.dos命令 xcopy参数详解
Xcopy
复制文件和目录,包括子目录。
语法:xcopy Source Destination [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a |/m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]] [{/y | /-y}] [/z]
参数:
Source 必需。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。
Destination 指定要复制的文件的目标。该参数可以包含驱动器号和冒号、目录名、文件名或者它们的组合。
/w
在开始复制文件之前将显示以下消息并等待您的响应:
Press any key to begin copying file(s)
/p
提示您确认是否要创建每个目标文件。
/c
忽略错误。
/v
在写入目标文件时验证每个文件,以确保目标文件与源文件完全相同。
/q
禁止显示“xcopy”的消息。
/f
复制时显示源文件名和目标文件名。
/l
显示要复制的文件列表。
/g
创建已解密的目标文件。
/d [:MM-DD-YYYY]
只复制那些在指定日期或指定日期之后更改过的源文件。如果不包括“MM-DD-YYYY”值,“xcopy”会复制比现有“Destination”文件新的所有“Source”文件。该命令行选项使您可以更新更改过的文件。
/u
只从“Source”复制“Destination”中已有的文件。
/i
如果“Source”是一个目录或包含通配符,而“Destination”不存在,“xcopy”会假定“destination”指定目录名并创建一个新目录。然后,“xcopy”会将所有指定文件复制到新目录中。默认情况下,“xcopy”将提示您指定“Destination”是文件还是目录。
/s
复制非空的目录和子目录。如果省略“/s”,则“xcopy”将在单个目录中工作。
/e
复制所有子目录,包括空目录。将“/e”与“/s”和“/t”命令行选项一起使用。
/t
只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含“/e”命令行选项。
/k
复制文件,如果源文件具有只读属性,则在目标文件中保留该属性。默认情况下,“xcopy”将删除只读属性。
/r
复制只读文件。
/h
复制具有隐藏和系统文件属性的文件。默认情况下,“xcopy”不复制隐藏或系统文件。
/a
只复制那些具有存档文件属性设置的源文件。“/a”不修改源文件的存档文件属性。有关如何通过使用“attrib”来设置存档文件属性的信息,请参阅“相关主题”。
/m
复制具有存档文件属性设置的源文件。与“/a”不同,“/m”关闭在源中指定的文件的存档文件属性。有关如何通过使用“attrib”来设置存档文件属性的信息,请参阅“相关主题”。
/n
使用 NTFS 短文件或目录名创建副本。将文件或目录从 NTFS 卷复制到 FAT 卷或者当目标文件系统需要 FAT 文件系统命名约定(即 8.3 字符)时,需要“/n”。目标文件系统可以是 FAT 或 NTFS。
/o
复制文件所有权与随机访问控制列表 (DACL) 信息。
/x
复制文件审核设置和系统访问控制列表 (SACL) 信息(包含“/o”)。
/exclude:FileName1[+[ FileName2]][+[FileName3]]
指定包含字符串的文件列表。
/y
禁止提示确认要覆盖已存在的目标文件。
/-y
提示您确认要覆盖已存在的目标文件。
/z
在可重启模式中通过网络复制。
/?
在命令提示符显示帮助。
2.vs 路径宏详解
$(RemoteMachine)
设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。
$(References)
以分号分隔的引用列表被添加到项目中。
$(ConfigurationName)
当前项目配置的名称(例如“Debug”)。
$(PlatformName)
当前项目平台的名称(例如“Win32”)。
$(Inherit)
指定在由项目生成系统所撰写的命令行中,继承的属性出现的顺序。默认情况下,继承的属性出现在当前属性的末尾。
$(NoInherit)
使任何将被继承的属性不被继承。若还要避免同级级别的计算,请使用 $(StopEvaluating)。使用 $(NoInherit)会导致对于同一属性忽略任何出现的 $(Inherit)。
$(StopEvaluating)
立即停止计算链中宏的计算。出现在 $(StopEvaluating) 之后的任何值将不出现在宏的计算值中。如果$(StopEvaluating) 在 $(Inherit) 之前,计算链中当前位置的继承值将不会连接到宏值。$(StopEvaluating)是 $(NoInherit) 的功能超集。
$(ParentName)
包含此项目项的项的名称。该名称将是父文件夹名称或项目名称。
$(RootNameSpace)
包含应用程序的命名空间(如果有)。
$(IntDir)
为中间文件指定的相对于项目目录的目录路径。它解析为“中间目录”属性的值。
$(OutDir)
输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。
$(DevEnvDir)
Visual Studio .NET 的安装目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(InputDir)
输入文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。如果该项目是输入,则此宏等效于 $(ProjectDir)。
$(InputPath)
输入文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectPath)。
$(InputName)
输入文件的基本名称。如果该项目是输入,则此宏等效于 $(ProjectName)。
$(InputFileName)
输入文件的文件名(定义为基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectFileName)。
$(InputExt)
输入文件的文件扩展名。它在文件扩展名的前面包括“.”。如果该项目是输入,则此宏等效于 $(ProjectExt)。
$(ProjectDir)
项目的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(ProjectPath)
项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(ProjectName)
项目的基本名称。
$(ProjectFileName)
项目的文件名(定义为基本名称 + 文件扩展名)。
$(ProjectExt)
项目的文件扩展名。它在文件扩展名的前面包括“.”。
$(SolutionDir)
解决方案的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(SolutionPath)
解决方案的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(SolutionName)
解决方案的基本名称。
$(SolutionFileName)
解决方案的文件名(定义为基本名称 + 文件扩展名)。
$(SolutionExt)
解决方案的文件扩展名。它在文件扩展名的前面包括“.”。
$(TargetDir)
生成的主输出文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。
$(TargetPath)
生成的主输出文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(TargetName)
生成的主输出文件的基本名称。
$(TargetFileName)
生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。
$(TargetExt)
生成的主输出文件的文件扩展名。它在文件扩展名的前面包括“.”。
$(VSInstallDir)
安装 Visual Studio .NET 的目录。
$(VCInstallDir)
安装 Visual C++ .NET 的目录。
$(FrameworkDir)
安装 .NET Framework 的目录。
$(FrameworkVersion)
Visual Studio 使用的 .NET Framework 版本。与 $(FrameworkDir) 相结合,就是 Visual Studio 使用的 .NET Framework 版本的完整路径。
$(FrameworkSDKDir)
安装 .NET Framework SDK 的目录。.NET Framework SDK 可作为 Visual Studio .NET 的一部分安装,也可单独安装。
$(WebDeployPath)
从 Web 部署根到项目输出所属于的位置的相对路径。返回与 RelativePath 相同的值。
$(WebDeployRoot)
指向 <localhost> 位置的绝对路径。例如,c:\inetpub\wwwroot。
$(SafeParentName)
有效名称格式的直接父级的名称。例如,窗体是 .resx 文件的父级。
$(SafeInputName)
作为有效类名的文件的名称,但不包括文件扩展名。
$(SafeRootNamespace)
项目向导将在其中添加代码的命名空间名称。此命名空间名称将只包含在有效的 C++ 标识符中允许的字符。
$(FxCopDir)
fxcop.cmd 文件的路径。fxcop.cmd 文件不和所有的 Visual C++ 版本一起安装。
visual studio使用dos命令在生成项目时复制文件到指定目录的更多相关文章
- VS生成时复制文件到指定目录
1.右键项目属性,选择生成事件,再点击"编辑后生成事件",可以直接在编辑框内填写命令行,如图: 2.也可以在弹出的编辑框内,写命令,$(ProjectDir)这种是系统的宏路径,具 ...
- C#:VS2010 由于缺少调试目标"xx.exe",Visual Studio无法开始调试,请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置
解决办法:重置VS2010的环境配置 原文地址:曾是土木人 转载请注明出处:http://www.cnblogs.com/hongfei/p/3813369.html
- [Visual Studio] 问题:VS下运行项目时,检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
vs2012调试时默认会是集成模式,vs2012调试时怎么使用传统模式哪? 这个时候只要选中启动项目按F4,在托管管道模式里选传统模式即可!
- 使用Visual Studio 创建新的Web Part项目
使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...
- 使用Visual Studio 2010写Data Url生成工具C#版本
声明:本文系本人按照真实经历原创.未经许可,谢绝转载. 此文百度经验版本号:怎样用Visual Studio 2010打造Data Url生成工具 源代码下载:用Visual Studio 2010编 ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(一)——使用团队、区域和迭代
使用Visual Studio Team Services敏捷规划和项目组合管理(一)--使用团队.区域和迭代 概述 在本实验,你将会了解Visual Studio Team Services提供的敏 ...
- 使用DOS命令运行JAVA项目
使用DOS命令运行JAVA项目 找到生成项目的文件夹: 在地址前加上cmd+空格,进入命令窗口: 输入javac 类的名称.java,生成class文件: 输入java 类的名称: 运行成功:
- 使用Visual Studio Team Services敏捷规划和项目组合管理(七)——流程定制
使用Visual Studio Team Services敏捷规划和项目组合管理(七)--流程定制 在Team Services中,可以通过流程定制工作追踪体验.流程定义了工作项跟踪系统的构建部分,以 ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(六)——VSTS仪表盘的使用
使用Visual Studio Team Services敏捷规划和项目组合管理(六)--VSTS仪表盘的使用 仪表盘使团队能够看到项目的状态和监控项目的进展.简单来说,不必深入到团队项目站点的其他部 ...
随机推荐
- <mongoose>……find与findOne的区别……//
mongoose中的 find 和 findOne 都是用来查找指定表的数据的 find指的是查找指定表的所有数据,返回的是数组 User.find().then((result)=>{ con ...
- Quartz.Net 学习之路02 初探Quartz.Net
第二讲:简单的实例,看看Quartz.Net强在哪里? 直接上代码,代码里有注释: using System; using Quartz; using Quartz.Impl; namespace L ...
- AspNetPager控件的简单使用
1.首先引用这个控件. 在前台页面上修改一些属性. <webdiyer:AspNetPager ID=" AlwaysShow="true" FirstPageTe ...
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...
- [K/3Cloud] 如何代码中动态设置当前活动页签
this.GetControl<TabControl>(key).SelectedIndex=目标Index Ps:如下方式隐藏页签: this.View.GetControl(" ...
- 天才的记忆(vijos 1514)
描述 从前有个人名叫W and N and B,他有着天才般的记忆力,他珍藏了许多许多的宝藏.在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏.题目 ...
- Delphi第三方控件安装方式
由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组 件的安装方法介绍一下. 1只有一个DCU文件的组件.DCU文件是编译好的单元文件,这 ...
- Strongly connected-HDU4635
Problem - 4635 http://acm.hdu.edu.cn/showproblem.php?pid=4635 题目大意: n个点,m条边,求最多再加几条边,然后这个图不是强连通 分析: ...
- R语言入门学习笔记 - 对R软件的认识
一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...
- 必测的支付漏洞(一)——使用fiddler篡改支付金额
互联网产品中常会遇到支付功能,测试人员测试这部分功能时一定要重视,因为如果这部分出现了较严重的bug,将会给公司带来不小的经济损失!如果你测出了问题领导也一定会高兴的!因此测试优先级很高,但具有一定难 ...