Visual Studio 2013 post build 事件显示 always explorer

Visual Studio 2013 post build event shows always explorer

我想在我的项目 (VisualC++) 中进行一些 post 构建,这涉及将一些文件复制到输出目录。它们大多是图标和 xml/css 等资源文件。问题是,无论如何,它都会在每次构建资源管理器后打开。我试图检查可复制的东西是否位于目标文件夹中,如果是,则不要复制文件,但它似乎无视我。这是我的 post 构建事件:

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
)

即使我使用 /D 开关指定日期,它每次都会在项目根目录上打开资源管理器。

语法错误。左括号必须在同一行,因为批处理是逐行解析的。否则 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
)