C++ MSBuild错误:命令已退出,代码为255

C++ MSBuild错误:命令已退出,代码为255,c++,visual-studio,visual-c++,msbuild,C++,Visual Studio,Visual C++,Msbuild,我想在构建之前做一些事情,所以我在预构建事件中添加了命令行 for /f "tokens=*" %a in ('dir /b /s /a-d "$(ProjectDir)lib"') do @copy "%a" "$(TargetDir)" /y 此命令用于将lib(项目目录)中的所有文件复制到调试目标 但是当我构建项目时,它有一个错误MSB3073:命令“for/f”标记=*%a in('dir/b/s/a-d“$(ProjectDir)lib“')do@copy“%a”“$(TargetD

我想在构建之前做一些事情,所以我在预构建事件中添加了命令行

for /f "tokens=*" %a in ('dir /b /s /a-d "$(ProjectDir)lib"') do @copy "%a" "$(TargetDir)" /y
此命令用于将lib(项目目录)中的所有文件复制到调试目标

但是当我构建项目时,它有一个错误MSB3073:命令“for/f”标记=*%a in('dir/b/s/a-d“$(ProjectDir)lib“')do@copy“%a”“$(TargetDir)”/y:VCEnd”退出,代码为255。但是我在CMD中执行命令,没有问题

谁知道,如何解决这个问题?IDE是VS2013,C++项目


for是否在visual studio的批处理文件中不起作用?

在批处理脚本中运行命令时会有所不同。您需要将
%
符号加倍。 试试这个:

for /f "tokens=*" %%a in ('dir /b /s /a-d "$(ProjectDir)lib"') do @copy "%%a" "$(TargetDir)" /y