ダウンロード サンプルファイル (5.1 MB)
付録:本稿で使用したタスク・ファンクションリファレンス
mkdirタスク
mkdirタスクは、ディレクトリを作成します。作成するディレクトリの親ディレクトリが存在しない場合は、その親ディレクトリも作成します。
| 属性名 | 型 | 説明 | 必須 |
| dir | directory | 作成するディレクトリ名 | ○ |
deleteタスク
deleteタスクはファイル、ネスト要素<filesest>~</filesest>で指定されたファイル群、またはディレクトリを削除します。
file属性もしくはdir属性が設定されると、ネスト要素<filesest>~</filesest>は無効になります。指定されたファイルかディレクトリが存在していなくても、特に警告は出力されません。
<attrib>タスクを使用して、読み取り属性を取り除く必要があります。| 属性名 | 型 | 説明 | 必須 |
| file | file | 削除するファイル名 | ○ |
| dir | directory | 削除するディレクトリ名 | × |
| includeemptydirs | bool | <fileset>にあるディレクトリについて、空のディレクトリも含めすべて削除するかどうかを指定。デフォルト値はtrue | × |
ネスト要素<filesest>~</filesest>について
<filesest>~</filesest>タグ内で指定されたすべてのファイルが削除されます。
<delete> <fileset> <include name="C:\Folder\AAA.exe" /> <include name="C:\Folder\BBB.pdb" /> </fileset> </delete>
execタスク
execタスクは、任意のアプリケーションをNAnt内で実行するタスクです。
| 属性名 | 型 | 説明 | 必須 |
| program | string | 実行したいアプリケーションやコマンドを指定。ただし、起動時の引数はこの属性に含めないこと | ○ |
| append | bool | 出力されるファイルが既に存在する場合、追記するように指定。デフォルト値はfalse | × |
| basedir | directory | アプリケーションの実行ファイルがあるディレクトリ | × |
| commandline | string | コマンドライン引数 | × |
| output | file | 標準出力のリダイレクト先となるファイル名 | × |
| resultproperty | string | 実行したアプリケーションやコマンドのリターンコードを格納するプロパティ名を指定。この動作を有効にするためには、failonerror属性の値が「false」でなくてはならない | × |
| workingdir | directory | コマンドを実行するディレクトリ | × |
| timeout | int | 実行中のアプリケーションがタイムアウトするまでの時間(単位:ミリ秒)を指定。デフォルトはタイムアウトなし | × |
<exec program="C:\Folder\ss.exe" > <environment> <variable name="ssdir" value="C:\SSDIR"/> </environment> </exec>
ネスト要素<arg>~</arg>について
コマンドライン引数を設定します。
| 属性名 | 型 | 説明 | 必須 |
| dir | directory | コマンドライン引数のディレクトリを指定(dir属性の値は、自動的に絶対パスに置換) | × |
| file | file | ファイルのパスを指定(file属性の値は、自動的に絶対パスに置換) | × |
| path | <path>~</path>要素 | 単一のパスを指定(パスの区切り文字などの実行環境に依存する文字は、自動的に置換) | × |
| line | string | コマンドライン引数の空白で区切られたリストを指定 | × |
| value | string | 単一のコマンドライン引数を指定(空白も指定可) | × |
<exec program="ping"> <arg value="nant.abcdef.net" /> </exec>
foreachタスク
foreachタスクは、あるデータ群を対象に、繰り返し処理を行います。
ディレクトリ内のファイル、ファイル内の行などの単位で繰り返しが可能です。最後の要素まで到達すると、繰り返し処理から復帰します。
| 属性名 | 型 | 説明 | 必須 |
| item | LoopItem | 繰り返しアイテム。File、Folder、Line、Stringの4つが指定可能 | ○ |
| property | string | 繰り返しアイテムに使用されるNAntプロパティ名 | ○ |
| delim | string | 区切りに使用される文字 | × |
| in | string | 繰り返しの対象となるデータ群 | × |
| trim | LoopTrim | 余分な空白に対するトリミングの種類。設定可能な値は、表:trim属性で指定できる値(LoopTrim型)を参照。デフォルト値はNone | × |
| 値 | 説明 |
| Both | 繰り返しアイテムの前後にある空白を削除 |
| Start | 繰り返しアイテムの文字列の前にある空白を削除 |
| End | 繰り返しアイテムの文字列の後にある空白を削除 |
| None | どの空白も削除しない |
loadfileタスク
loadfileタスクは、指定されたテキストファイルの内容を読み込んで、プロパティに格納します。
| 属性名 | 型 | 説明 | 必須 |
| file | file | 読み込みするファイル名 | ○ |
| property | string | 読みこんだ内容を格納するプロパティ名 | ○ |
| encoding | Encoding | 読み込むファイルのエンコーディングを指定。エンコーディングが指定されていない場合は、デフォルト値として現在のロケールが設定される | × |
vsscheckoutタスク(NAntContrib)
vsscheckoutタスクは、VSS DBに存在するファイルに対して、チェックアウトを実行します。
| 属性名 | 型 | 説明 | 必須 |
| localpath | directory | チェックアウトするファイルのローカルのパス | ○ |
| filetimestamp | FileTimestamp | ローカルファイルのタイムスタンプ設定の種類。表:filetimestamp属性で設定できる値を参照。デフォルト値はCurrent | × |
| 値 | 説明 |
| Current | ローカルファイルのタイムスタンプに、現在の時刻を設定 |
| Modified | ローカルファイルのタイムスタンプに、ファイル変更時の時刻を設定 |
| Updated | ローカルファイルのタイムスタンプに、チェックイン時の時刻を設定 |
vsscheckinタスク(NAntContrib)
vsscheckinタスクは、VSS DBに存在するファイルに対して、チェックインを実行します。
| 属性名 | 型 | 説明 | 必須 |
| localpath | directory | チェックインするファイルのローカルのパス | ○ |
| comment | string | チェックインしたバージョンに対するコメントを指定 | × |
共通属性
vsscheckoutタスク/vsscheckinタスクに共通の属性
| 属性名 | 型 | 説明 | 必須 |
| recursive | bool | 指定したプロジェクト以下を再帰的にチェックアウト/チェックイン取消しするかどうか。デフォルト値はtrue | × |
| writable | bool | チェックアウト/チェックイン後のローカルコピーのファイルを書きこみ可能にするかどうか。 デフォルト値はtrue | × |
| dbpath | file | 「srcsafe.ini」の存在するディレクトリのパス | ○ |
| path | string | チェックアウトするプロジェクトおよびファイルのパス | ○ |
| username | string | VSS DBにログインするためのユーザー名。ユーザー名を指定せず、VSSアドミニストレータの「ネットワーク ログオンユーザー名を基に自動的にユーザーをログオン」設定にチェックが入っている場合は、VSSDBにログイン時に、現在のWindowsユーザー名を適用 | × |
| password | string | VSS DBにログインするためのパスワード | × |
| version | string | 指定したバージョン、指定した日付、または指定したラベルが付いているプロジェクトやファイルをチェックアウト/チェックインするように指定。省略された場合は、最新のバージョンを適用 | × |
全タスクに共通の属性
| 属性名 | 型 | 説明 | 必須 |
| failonerror | bool | タスク実行中にエラーが発生した場合、ビルドプロセスを中止させるかどうか。デフォルト値はtrue | × |
| if | bool | 値がtrueならば、タスクは実行される。falseならば、タスクはスキップされる。デフォルト値はtrue | × |
| unless | bool | if属性の逆。値がfalseならば、タスクは実行される.trueならば、タスクはスキップされる。デフォルト値はfalse | × |
| verbose | bool | 詳細なログを出力するかどうかを設定。デフォルト値はfalse | × |
ファンクション
ファンクションの解説は、NAnt公式ページのFunction Referenceを参照願います。
| ファンクション名 | 説明 |
| file::exists ファンクション | 特定のファイルが存在するかどうかを調査 |
| string::contains ファンクション | 指定した文字列中に、特定の文字列が存在するどうかを調査 |
| string::index-of ファンクション | 検索対象とする文字列中で、特定の文字列が最初に出現する位置のインデックスを返却 |
| string::starts-with ファンクション | 対象とする文字列が指定した文字列で始まるかどうかを調査 |
| string::replace ファンクション | 文字列を置換 |
| string::last-index-of ファンクション | 検索対象とする文字列中で、特定の文字列が最後に出現する位置のインデックスを返却 |
| int::parse ファンクション | 指定の文字列を、符号付き32ビット整数に変換 |
参考資料
この記事は参考になりましたか?
既に会員の方はを行ってください。
- NAntスクリプトによるビルド効率化TIPS連載記事一覧
-
- NAnt+InstallShield活用でビルド・インストーラ作成の自動化を行う
- NAntでVisual Source Safeの操作を自動化する
- NAntでアセンブリのバージョンアップデートを自動化する
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 齋藤 利佳(サイトウ リカ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
