整理输出目录的Visual Studio的批处理脚本
2023-12-23 17:49:09
; Move all assemblies and related files to lib folder
ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " /XF Data *.exe *.config *.manifest /XD "$(TargetDir)lib" plugins logs bak /E /IS /MOVE
ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " *.dll /XD "$(TargetDir)lib" /E /S /MOVE
if %errorlevel% leq 4 exit 0 else exit %errorlevel%
这段指令是一个Visual Studio的批处理脚本,主要用于移动所有的程序集和相关文件到lib
文件夹。以下是详细的解释:
-
ROBOCOPY "$(TargetDir)" "$(TargetDir)lib\" /XF Data *.exe *.config *.manifest /XD "$(TargetDir)lib" plugins logs bak /E /IS /MOVE
ROBOCOPY
?是一个用于复制文件的命令。"$(TargetDir)"
?是目标文件夹,通常在Visual Studio的属性页面中定义。/XF Data *.exe *.config *.manifest
?指定了不复制名为“Data”的文件以及扩展名为?.exe
,?.config
, 和?.manifest
?的文件。/XD "$(TargetDir)lib" plugins logs bak
?指定了排除的文件夹,即lib
,?plugins
,?logs
, 和?bak
?文件夹内的文件不会被复制。/E
?指定复制所有子目录,包括空目录。/IS
?指定如果目标是一个目录或文件名与源不匹配,则创建目录。/MOVE
?指定移动文件而不是复制。
-
ROBOCOPY "$(TargetDir)" "$(TargetDir)lib\" *.dll /XD "$(TargetDir)lib" /E /S /MOVE
- 这行命令与第一行类似,但这次它是专门针对?
.dll
?文件进行操作。 /XD "$(TargetDir)lib"
?指定排除名为“lib”的文件夹内的文件。/E
?和?/S
?分别表示复制所有子目录和包括系统文件。/MOVE
?表示移动文件。
- 这行命令与第一行类似,但这次它是专门针对?
-
if %errorlevel% leq 4 exit 0 else exit %errorlevel%
- 这段代码检查
ROBOCOPY
命令的返回值(存储在errorlevel
变量中)。如果返回值小于或等于4,则命令成功执行并退出,返回值为0;否则,它会返回实际的错误级别。
- 这段代码检查
总的来说,这段脚本的目的是将项目中的所有文件和文件夹(除了指定的排除项)移动到一个名为“lib”的新文件夹中。
文章来源:https://blog.csdn.net/qq_31418645/article/details/135166760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!