2015-02-01 2 views
4

일부 프로젝트를 출력 디렉토리에 복사하는 프로젝트 빌드 (VisualC++)를하고 싶습니다. 주로 아이콘과 xml/css와 같은 리소스 파일입니다. 문제는 탐색기를 빌드 한 후에 열리는 문제입니다. 복사 가능한 항목이 대상 폴더에 있는지 확인하고, 그렇다면 파일을 복사하지 않는지 확인해 보았습니다. 그러나이를 무시하는 것으로 보입니다. I는/D 스위치를 사용하여 날짜를 지정하더라도Visual Studio 2013 포스트 빌드 이벤트는 항상 탐색기를 보여줍니다.

IF NOT EXIST $(OutDir)fonts\uni05_53.ttf 
(
xcopy "$(ProjectDir)uni05_53.ttf" "$(OutDir)fonts\" /Y /I 
) 

IF NOT EXIST $(OutDir)data\favicon.ico 
(
xcopy "$(ProjectDir)data\favicon.ico" "$(OutDir)images\" /Y /I 
) 

IF NOT EXIST $(OutDir)layout\warlockgui.css 
(
xcopy "$(ProjectDir)layout\warlockgui.css" "$(OutDir)layout\" /Y /I 
) 

IF NOT EXIST $(OutDir)layout\warlockgui.xml 
(
xcopy "$(ProjectDir)layout\warlockgui.xml" "$(OutDir)layout\" /Y /I 
) 

, 그것은 프로젝트 루트에 탐색기마다 열립니다 여기에 내 게시물 빌드 이벤트입니다.

답변

1

구문이 잘못되었습니다. 일괄 처리가 줄 단위로 파싱되므로 여는 괄호는 같은 줄에 있어야합니다. 그렇지 않으면 if 문은 다음 행을 포함해야한다는 것을 모르기 때문에 아무 것도하지 않습니다.

IF NOT EXIST "$(OutDir)fonts\uni05_53.ttf" (
xcopy "$(ProjectDir)uni05_53.ttf" "$(OutDir)fonts\" /Y /I 
) 

IF NOT EXIST "$(OutDir)data\favicon.ico" (
xcopy "$(ProjectDir)data\favicon.ico" "$(OutDir)images\" /Y /I 
) 

IF NOT EXIST "$(OutDir)layout\warlockgui.css" (
xcopy "$(ProjectDir)layout\warlockgui.css" "$(OutDir)layout\" /Y /I 
) 

IF NOT EXIST "$(OutDir)layout\warlockgui.xml" (
xcopy "$(ProjectDir)layout\warlockgui.xml" "$(OutDir)layout\" /Y /I 
) 
+0

감사하지만 일부 이상한 이유로 인해 탐색기도 실행됩니다. / – Citrus