整理输出目录的Visual Studio的批处理脚本

; 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文件夹。以下是详细的解释:

  1. 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 指定了排除的文件夹,即libpluginslogs, 和 bak 文件夹内的文件不会被复制。
    • /E 指定复制所有子目录,包括空目录。
    • /IS 指定如果目标是一个目录或文件名与源不匹配,则创建目录。
    • /MOVE 指定移动文件而不是复制。
  2. ROBOCOPY "$(TargetDir)" "$(TargetDir)lib\" *.dll /XD "$(TargetDir)lib" /E /S /MOVE

    • 这行命令与第一行类似,但这次它是专门针对 .dll 文件进行操作。
    • /XD "$(TargetDir)lib" 指定排除名为“lib”的文件夹内的文件。
    • /E 和 /S 分别表示复制所有子目录和包括系统文件。
    • /MOVE 表示移动文件。
  3. if %errorlevel% leq 4 exit 0 else exit %errorlevel%

    • 这段代码检查ROBOCOPY命令的返回值(存储在errorlevel变量中)。如果返回值小于或等于4,则命令成功执行并退出,返回值为0;否则,它会返回实际的错误级别。

总的来说,这段脚本的目的是将项目中的所有文件和文件夹(除了指定的排除项)移动到一个名为“lib”的新文件夹中。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值