0
選択したディレクトリのすべてのファイル(拡張子.tclを持つ)を1つずつtclの特定の変数に渡す方法はありますか?私はあなたがやりたいと思う何をすべきか選択されたディレクトリの各ファイルを渡す
選択したディレクトリのすべてのファイル(拡張子.tclを持つ)を1つずつtclの特定の変数に渡す方法はありますか?私はあなたがやりたいと思う何をすべきか選択されたディレクトリの各ファイルを渡す
一つの方法は、glob
コマンドは、「いずれかを意味する。この場合*.tcl
に(最後の引数でのパターンに一致するファイル名のリストを返します
foreach file [glob -directory $dir *.tcl] {
# do something with the filename $file
}
です.tcl "で終わる名前)。 -directory
オプションは、ファイルを探すディレクトリを指定します。
パターンに一致するファイルがない場合、コマンドはエラーを発生させます。これを避け、単純に空のリストを取得するには、オプション-nocomplain
を使用します。
foreach
コマンドは、可変仕様、リスト(この場合はファイル名のリスト)、およびスクリプトをとります。スクリプトは、項目に変数が設定されているすべての項目(または場合によっては項目のバッチ)に対して1回評価されます。
ドキュメント:Tclの文字列マッチングの foreach、 glob、 File name conventions supported by Tcl commands
構文:
*
がゼロ以上の文字のシーケンス?
は、単一の文字[chars]
は、の文字のうちの1文字に一致します。(^はではありません。は無効です。範囲は-Zとして指定することができます)\x
あなたは「一つ一つ」で何を意味するのです
)(その文字が特殊な場合でも、
*?[]\
のいずれかを文字Xと一致しますか?あなたはリストなどについて話していますか? –