openbyshell "file://〜#〜"No.02286
Iranoan さん 09/02/15 22:43
 
 秀丸担当さん今日は、Iranoan です。
 openbyshell 文でパラメタ付きで、
openbyshell "file:///〜"
とした場合、「〜」部分に「#」があっても、それ移行が無視されます。
openbyshell "\"file:///〜\""
と「"」で括ると、「#」移行も反映されます。これは仕様ですか?

 Firefox 3.06 と I.E 7 が標準ブラウザの場合で確認しました。
 こちらの環境は、WindowsXP++秀丸 Ver.7.10 です。

[ ]
RE:02286 openbyshell "file://〜#〜"No.02290
秀丸担当 さん 09/02/16 10:06
 

> 秀丸担当さん今日は、Iranoan です。
> openbyshell 文でパラメタ付きで、
>openbyshell "file:///〜"
>とした場合、「〜」部分に「#」があっても、それ移行が無視されます。
>openbyshell "\"file:///〜\""
>と「"」で括ると、「#」移行も反映されます。これは仕様ですか?
>
> Firefox 3.06 と I.E 7 が標準ブラウザの場合で確認しました。
> こちらの環境は、WindowsXP++秀丸 Ver.7.10 です。

〜の部分の書き方が違うのかもしれませんが、以下のようにしたら問題なく開け
ました。

openbyshell "file:///C:\\folder\\a#.txt"

a#.htmlにしても、xpでFireFox3でもIE7でも開けました。
FireFox3でアドレスバーに file:///C:\\folder\\a#.txt と入れたら#を無視し
て C:\\folder\\a が開いてしまいました。
何か、書き方が違うのでしょうか。

[ ]
RE:02290 openbyshell "file://〜#〜"No.02294
Iranoan さん 09/02/16 14:45
 
 秀丸担当さん今日は、Iranoan です。
> 〜の部分の書き方が違うのかもしれませんが、以下のようにしたら問題なく開け
> ました。
>
> openbyshell "file:///C:\\folder\\a#.txt"
 実際には、+ 演算子を使っていましたが、それが原因とも思えません。

 試したのは、
openbyshell "file:///D:/xxxxx/public_html/iranoan/essay/politics/
 200812080.htm#20090214";
openbyshell "file:///D:/xxxxx/Information/www/css/reference.htm#import";
のどちらもダメでした。原因は、
・長さ?
・区切りに / を使っているから? →今試した限りでは関係なさそう

[ ]
RE:02294 openbyshell "file://〜#〜"No.02295
秀丸担当 さん 09/02/16 15:13
 

「#」がファイル名に含まれるものが開けないという意味かと勘違いしていまし
た。
確かに、言われている通りになりました。

調べてみたら、WindowsAPIのShellExecuteにそのまま渡しているだけで、特に#
に対する処理は行っていませんでした。
「ファイル名を指定して実行」でも、#の場所にはジャンプしませんでした。
「ファイル名を指定して実行」で""でくくっても、ジャンプしませんでした。""
でくくった場合は、秀丸エディタと動作が違うようです。
秀丸エディタとしては、""も、#も、特に解釈することなく、そのまま
ShellExecuteに渡しているだけです。

[ ]
RE:02295 openbyshell "file://〜#〜"No.02296
Iranoan さん 09/02/16 17:46
 
 秀丸担当さん今日は、Iranoan です。
> 「#」がファイル名に含まれるものが開けないという意味かと勘違いしていまし
> た。
> 確かに、言われている通りになりました。
 ご確認有難うございます。

> 秀丸エディタとしては、""も、#も、特に解釈することなく、そのまま
> ShellExecuteに渡しているだけです。
 それでは、ShellExecute の細かい仕様が公開されていない現状では、なぜ
違いが出るのか解りませんね。

[ ]