Visual Studio でのカスタム ビルド イベントの指定Specify custom build events in Visual Studio

カスタム ビルド イベントを指定することで、ビルドの開始前またはビルドの終了後に自動的にコマンドを実行できます。By specifying a custom build event, you can automatically run commands before a build starts or after it finishes. たとえば、ビルドの開始前に .bat ファイルを実行したり、ビルドの完了後に新しいファイルをフォルダーにコピーしたりできます。For example, you can run a .bat file before a build starts or copy new files to a folder after the build is complete. ビルド イベントは、ビルド プロセスにおいてビルドがこれらのポイントに正常に達する場合にのみ実行します。Build events run only if the build successfully reaches those points in the build process.

使用するプログラミング言語に関する具体的な情報については、次のトピックを参照してください。For specific information about the programming language that you're using, see the following topics:


ビルド イベントは、DOS コマンドと同じ構文に従いますが、マクロを使用すると、ビルド イベントをより簡単に作成することができます。Build events follow the same syntax as DOS commands, but you can use macros to create build events more easily. 使用可能なマクロの一覧については、「[ビルド前に実行するコマンド ライン] / [ビルド後に実行するコマンド ライン] ダイアログ ボックス」を参照してください。For a list of available macros, see Pre-build Event/Post-build Event command line dialog box.

最適な結果を得るには、次のような書式のヒントに従います。For best results, follow these formatting tips:

  • .bat ファイルを実行するすべてのビルド イベントの前に call ステートメントを追加します。Add a call statement before all build events that run .bat files.

    例 : call C:\MyFile.batExample: call C:\MyFile.bat

    例 : call C:\MyFile.bat call C:\MyFile2.batExample: call C:\MyFile.bat call C:\MyFile2.bat

  • ファイルのパスを引用符で囲みます。Enclose file paths in quotation marks.

    例 (Windows 8Windows 8 の場合): "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\Bin\NETFX 4.0 Tools\gacutil.exe" -if "$(TargetPath)"Example (for Windows 8Windows 8): "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\Bin\NETFX 4.0 Tools\gacutil.exe" -if "$(TargetPath)"

  • 改行を使用して、複数のコマンドを区切ります。Separate multiple commands by using line breaks.

  • 必要に応じて、ワイルドカードを挿入します。Include wildcards as needed.

    例: for %I in (*.txt *.doc *.html) do copy %I c:\mydirectory\Example: for %I in (*.txt *.doc *.html) do copy %I c:\mydirectory\


    上記のコードの %I は、バッチ スクリプトでは %%I になります。%I in the code above should be %%I in batch scripts.

関連項目See also