textOutのルール

アイテム名# # で囲んだ場合と、
変数を % % で囲んだ場合のルールについての事です。

変数を % % で囲んだ場合は、 AHK のルールとほぼ同じになる様にしていますが、違いはあると思います。
あくまで、同じになる様にしているだけです。

このページで仕様を細かく説明します。

アイテム名を# #で囲んだ場合のルール

基本

リンク先と同じ意味になります。

ニ行以上のアイテム では意味を成しません。
アイテム名 と同じ意味に変換されます。

そして、リンク先がファイルパスであった場合は、
#[アイテム名]#\ をつけると、そのファイルパスが存在するフォルダ 親フォルダ の意味になります。

追加で説明しておく事

アイテム のリンク先に #[アイテム名]# を記入して使うことは可能です。

その様にして使う事を、ネストすると表現していきます。

その アイテム名# # で囲んだ場合、
ネストされた # # も展開されます。

補足

変数名を % % で囲んだ場合ですが、
ネストされた % % は展開されません。

% % の展開は一度のみ 最上部のみ です。

これは、 AHK の方の % % の展開のルールに合わせてそうなる様にしています。

# # の展開も、 余り複雑なネストには対応していません。

# # の階層が余り深くなると展開しません。

現時点では最高でも、 30回までの展開です。それも条件によったりします。

ひと工夫

アイテムの登録の際、
作業フォルダの部分に
#[そのアイテム名]#\
とすることで、リンク先に指定したファイルの親フォルダを意味して使用することもできます。

変数の中に、# #で囲んだ文字を入れても使えない

# #% % の展開は、
# # を展開してから、 % % を展開するルールになっています。

よって、アイテムの中に、 % % で囲んだ変数を入れる事は、意味がありますが、

[変数名]  :=  "#[アイテム名]#"

といったように、変数に # # で囲んだアイテム名を入れても意味はなく、
この後に %[変数名]%として使ったとしても、 # # で囲んだ部分は展開されません。

補足

あえて、

[変数名]  :=  "#[アイテム名]#"

といった アイテム名# # で囲んだ値の変数を使う必要がある場合は、
F_textOut( ) の関数を使って展開する方法があります。

[ 確認の例 ]

varName  :=  "#itemName#"
varName  :=  F_textOut( varName )
MsgBox , %varName%

あえて展開されないようにする場合

規定のコマンドで使う場合

" " で囲んだ文字は # #% % で囲んだ文字を展開しません。

変数の代入と関数の引数で文字列として使う場合

" " で囲んだ文字列は # #% % で囲んだ文字を展開しません。

[変数] := "%A_MyDocuments%"
F_output( "%A_MyDocuments%" )

" " で囲んだ文字のルールは別のページで説明しています。

細かい説明
文字が" "で囲まれているときのルール

二行以上のアイテム は、 # # は使えませんが、
スクリプトの中で、 アイテムのスクリプトを取得したい時は、
F_getItemScript( )
の関数を使えばスクリプトの取得が可能です。