[ << convert-ly を使ってファイルを更新する ] | [Top][Contents][Index] | [ lilypond-book を実行する >> ] |
[ < 何故構文は変更されるのか? ] | [ Up : convert-ly を使ってファイルを更新する ] | [ convert-ly のコマンド ライン オプション > ] |
2.2 convert-ly
を呼び出す
convert-ly
コマンドは古いバージョンを検出するために入力ファイルの version
番号を使用します。たいていの場合、あなたの入力ファイルを更新するには、その入力ファイルを保持しているディレクトリで以下を実行するだけで十分です:
convert-ly -e myfile.ly
これにより、myfile.ly
はその場で更新され、オリジナル ファイルは myfile.ly~
に名前が変更されて保存されます。更新された入力ファイルの \version
番号も、必要な構文の更新に合わせて変更されます。
convert-ly
コマンドが実行される時、変換が行われるバージョンの番号を出力します。バージョン番号が出力されなかった場合、そのファイルは既に更新されており、最新の LilyPond 構文を使用しています。
Note: LilyPond の新しいバージョンごとに、新しい convert-ly
コマンドが作られます。しかし、全てのバージョンがその前のバージョンの入力ファイルから構文の変更を必要とするわけではありません。つまり
convert-ly
コマンドは、入力ファイルをその時点の最新の構文にまでしか変換しないということであり、逆に言えば、変換されたファイルの
\version
番号が convert-ly
コマンド自体のバージョンより前のバージョンになる場合もあるということです。
単一のディレクトリにある全ての入力ファイルを変換するには、以下のようにします:
convert-ly -e *.ly
Linux や MacOS X のユーザーは、適当なターミナルからこのコマンドを実行できますが、MacOS X のユーザーは、メニューの
Compile > Update syntax
からも直接コマンドを実行できます。
Windows ユーザーがコマンド ラインを用いる場合はこのようになります:
convert-ly.py -e *.ly
これを、コマンド プロンプト
から実行します。コマンド プロンプト
は通常、スタート > アクセサリ > コマンド プロンプト
にありますが、Windows 8 ユーザーであるなら、検索ウィンドウに‘コマンド プロンプト’と入力することでも実行できます。
複数のサブディレクトリ内にある全ての入力ファイルを変換するには、以下のようにします:
find . -name '*.ly' -exec convert-ly -e '{}' \;
この例は、現在のディレクトリとその下にある全てのディレクトリに存在する入力ファイルを、再帰的に見つけ出し変換します。変換されたファイルはリネームされた元のファイルと同じディレクトリに配置されます。これは MacOS X でも動作するはずです (ターミナルからの実行のみとなりますが)。
Windows ユーザーは以下のようにします:
forfiles /s /M *.ly /c "cmd /c convert-ly.py -e @file"
代わりに、/p
オプションを使って、入力ファイルを含む全てのサブフォルダを保持したトップレベルのフォルダを指定することができます:
forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c convert-ly.py -e @file"
トップレベルのフォルダへのパスにスペースが含まれる場合には、パス全体をダブルクォートで括る必要があります:
forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c convert-ly.py -e @file"