openfile+ワイルドカード+二重引用符No.05864
h-tom さん 04/07/25 23:07
 

h-tom です。

openfile "\"" + hidemarudir + "\\*.txt\"";
を実行するとエラーになります。二重引用符があると駄目です。

エラーメッセージ
  ファイル名が有効でありません。
  動作環境のワイルドカードの指定が正しいか確認してください。

openfile 命令って空白を含むパスを二重引用符で囲まなくても大丈夫
なんですね。
ずっと囲まないと駄目だと思ってました。
まぁ、この件も二重引用符使わなければすむ話ではありますが・・・。

秀丸 Version 4.10 β36

[ ]
RE:05864 openfile+ワイルドカード+二重引No.05865
アルビレオ さん 04/07/26 01:41
 
秀丸ユーザーのアルビレオです。

>openfile 命令って空白を含むパスを二重引用符で囲まなくても大丈夫
>なんですね。
>ずっと囲まないと駄目だと思ってました。
>まぁ、この件も二重引用符使わなければすむ話ではありますが・・・。

細かく解説すると、シェル(CMD.EXEなど)は項目の区切り文字として空白を使う
ため、区切りとして欲しくない空白があるときは2重引用符で囲む必要がありま
す。
それに対してopenfileなどはパラメータとしてファイル名しか指定できないため
区切り文字は必要なく、空白つきのファイル名であっても二重引用符で囲む必要
はないわけで、こちらの方が本来の形式だと考えた方がいいでしょう。

[ ]
RE:05865 openfile+ワイルドカード+二重引No.05866
三月 さん 04/07/26 06:32
 
>細かく解説すると、シェル(CMD.EXEなど)は項目の区切り文字として空白を使う
>ため、区切りとして欲しくない空白があるときは2重引用符で囲む必要がありま
>す。
>それに対してopenfileなどはパラメータとしてファイル名しか指定できないため
>区切り文字は必要なく、空白つきのファイル名であっても二重引用符で囲む必要
>はないわけで、こちらの方が本来の形式だと考えた方がいいでしょう。

マクロヘルプの「openfile文の裏技!!!」にある、オプション指定を
つける場合には要りそうな気もしますが・・・試してないですけど。




[ ]
RE:05866 openfile+ワイルドカード+二重引No.05871
秀丸担当 さん 04/07/26 17:42
 

確認することができました。
前のバージョンから、そのような動作になっているようです。

>マクロヘルプの「openfile文の裏技!!!」にある、オプション指定を
>つける場合には要りそうな気もしますが・・・試してないですけど。

ということですが、ヘルプのopenfileの説明では、オプション指定がある場合は
二重引用符が必要ということは、特に書かれていません。
V4.10ではこのままの仕様でいきたいと思います。
改善するとしたら、将来的に検討したいと思います。

[ ]
RE:05871 openfile+ワイルドカード+二重引No.05878
三月 さん 04/07/27 06:34
 
>>マクロヘルプの「openfile文の裏技!!!」にある、オプション指定を
>>つける場合には要りそうな気もしますが・・・試してないですけど。
>
>ということですが、ヘルプのopenfileの説明では、オプション指定がある場合は
>二重引用符が必要ということは、特に書かれていません。
>V4.10ではこのままの仕様でいきたいと思います。
>改善するとしたら、将来的に検討したいと思います。

オプション指定かつ空白を含むパスでも問題ない?
オプション指定はパスの前で無いと駄目とか制限は無し?

って考えると、「オプション指定かつ空白を含むパス」を実現するのに
「二重引用符が必要」になるのではないかと思ったのですが。
そもそも
>オプションは/をつけて指定します。ファイル名も指定する場合はオプションの後ろ
>に指定しないといけません。
ってオプション自体に制限があったのですね。


[ ]