機能説明
ファイルをオープンします。
記述形式
open filename 【access】 |
オプション
オープンするファイル名を指定します。Windows上のファイル名の場合は、ディレクトリの区切りを“\”(円記号)のほかに“/”(スラッシュ)で記述することが可能です。円記号を使用する場合は、エスケープ文字に扱われないようファイル名全体を“{}”(中括弧)で囲む必要があります。また、ファイル名にスペースまたはタブが含まれる場合は、「"」(ダブルクォーテーション)で囲む必要があります。
アクセスモードの指定をします。省略時は、読み込み専用(r)です。指定内容とその意味は以下のとおりです。
アクセスモードの種類
コード | 説明 |
---|---|
r | 読み込み専用モードでオープンします(省略時)。ファイルは存在している必要があります。 |
r+ | 読み書きモードでオープンします。ファイルは存在している必要があります。 |
w | 書き込み専用モードでオープンします。ファイルが存在しているときは上書きします。なければ新規作成します。 |
w+ | 読み書きモードでオープンします。ファイルが存在しているときは上書きします。なければ新規作成します。 |
a | 書き込み専用モードでオープンします。ファイルは存在している必要があります。書き込みデータは、ファイルの最後に追加されます。 |
a+ | 読み書きモードでオープンします。ファイルが存在していないときは、新規に作成します。書き込みデータはファイルの最後に追加されます。 |
復帰値
オープンしたファイルへのアクセス(closeを含む)には、このチャンネルIDを指定するため、復帰値は必ずコマンド置換により変数に格納する必要があります。
参照
注意事項
アクセス権のないファイルを指定した場合などファイルオープンに失敗した場合、スクリプトは処理例外の発生を検知して強制終了されます。本コマンド使用時は、必要に応じてcatchコマンドで処理例外のトラップを行ってください。
使用例
【Windows版】
ファイルc:\tmp\dataを書き込みモードでオープンし、そのチャンネルIDを変数fcに格納します。
set fc [open {c:\tmp\data} w]
【UNIX版】
ファイル/tmp/dataを書き込みモードでオープンし、そのチャンネルIDを変数fcに格納します。
set fc [open /tmp/data w]
実行結果/出力形式
なし