在我的项目中,我试图通过Visual Studio中的post-build event命令将文件目录复制到另一个目录中。
我想出了此命令行代码以用于项目xcopy /Y /I /E "$(WorkingDirectory)/abra/kadabra" "$(LocalDebuggerWorkingDirectory)/kadabra"
我想从cmake和据我所知自动生成此命令
add_custom_command
方法是我应该使用的方法...
但是当我尝试
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND xcopy /Y /I /E "$(WorkingDirectory)/abra/kadabra" "$(LocalDebuggerWorkingDirectory)/kadabra")
我将其作为Visual Studio中的命令行选项
setlocal
xcopy /Y /I /E $(WorkingDirectory)/abra/kadabra $(LocalDebuggerWorkingDirectory)/kadabra
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
我在做什么错了?
答案 0 :(得分:0)
我最终找到了答案,基本上是避免引号。我将此"$(WorkingDirectory)/abra/kadabra" "$(LocalDebuggerWorkingDirectory)/kadabra")
变成了\"$(WorkingDirectory)/abra/kadabra\" \"$(LocalDebuggerWorkingDirectory)/kadabra\")
,但是,我仍然得到了所有额外的setlocal以及%errorlevel%的东西,这不是我想要的。但是,这不会影响我的项目。