Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: win98se+msword2.plでインデックスできない
花井と申します。
自己レスです。
──"HANAI,Akira" <hanai-a@xxxxxxxxxxxxxxxxxxxxxxx>wrote:──
On Tue, 22 Jul 2003 10:34:49 +0900
Subject: [namazu-win32-users-ja] Re: win98se+msword2.plでインデックスできない
──────────────────────────────────
> > windows98seにnamazu2.0.12をインストールし、filterにmsword2.plを入れてmknmzし
> > ても、
> > −−−−−−−−−ここから−−−−−−−−−
> > C:\>C:\namazu\bin\mknmz -U -O C:\namazu\var\namazu\index d:\winword
> > 検索対象のファイルを調べています...
> > 1個のファイルがインデックス作成の対象として見つかりました
> > コマンドまたはファイル名が違います.
> > mknmz: < C:/namazu/var/namazu/index/NMZ.word.tmp: No such file or directory
> > −−−−−−−−−ここまで−−−−−−−−−
> > でインデックスができません。xdoc2txt.exeとzlib.dllはc:¥namazu¥binに入れてあ
> > ります。
前回の投稿間違っていたようです。
実際に変換動作をしている
system("$wordconvpath -e $tmpfile2 > $tmpfile");
部分の問題ではないかと思い、win98環境とwin2000環境にてsystem関数の動作を比較
してみました。
原因切り分けのために下記scriptにて動作確認したところ、
確認script
system("xdoc2txt > c:/temp/xdoc2txt.txt");
結果
win2000→c:¥temp¥xdoc2txt.txtが生成される(内容はxdoc2txtのヘルプ)
win98→カレントディレクトリに「c」というファイル名のファイルが生成される。
(ファイルの内容は同上)
という結果になり、リダイレクト先のファイル名のパスセパレーターを「/」にした
場合の動作が違いました。
(ちなみに、system("xdoc2txt c:/temp/word.doc");と、変換対象ファイル名が
パスセパレーター「/」である場合については、win98/2000共に同じ動作でした。)
そこで
system("xdoc2txt > c:\\temp\\xdoc2txt.txt");
とパスセパレーターを「¥」にしたところwin98でもc:¥temp¥xdoc2txt.txtが生成
されました。
なので、win98にて使用する際はmsword2.plのsystem関数の行を
元:
system("$wordconvpath -e $tmpfile2 > $tmpfile");
↓
変更後:
my $tmpfile3 = $tmpfile;
$tmpfile3 =~ s|/|\\|g;
system("$wordconvpath -e $tmpfile2 > $tmpfile3");
と変更してみてうまくいかないでしょうか?
#perlを理解出来ているとは言えないレベルなので、上記不適切な内容があれば
#ツッコミ入れてください。
#また、パス名やファイル名にマルチバイト文字が入っていた場合、自信無し。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NECフィールディング.東日本CSD.テクニカルサポート部
花井 亮(はない あきら)
────────────────────────────