[Namazu-win32-users-ja 1281] Re: mknmzでのインデックス作成時のcdコマンド実行について

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2012年 2月 13日 (月) 23:14:59 JST


寺西です。

(2012/02/13 14:48), TSC 園田 将之 wrote:
> インデックス作成を実行すると、特定のディレクトリに対してのみ、
> 
> Can't cd to (G:/share/projects/) foldername:
> No such file or directory at C:\namazu\bin/mknmz line 1449
> 
> というようなエラーが記録され、対象のディレクトリに移動出来ず
> 当該ディレクトリ中のファイルのインデックスの作成が行われない
> 現象が発生しています。

File::Find でエラーが発生しているようです。

C:\> mknmz G:\share\projects\foldername

だと、G:\share\projects\foldername 以下を対象とした
インデックスが作成できるのではありませんか?

> インデックスの作成処理自体は停止することなく最後まで実行され、
> また、パス名には日本語が含まれるものが多数ありますが、
> チェンジディレクトリの対象(移動先のパス)には日本語が含まれて
> いなくても発生します。

移動先のパスではなく、その前に処理しているところで問題が
生じているのではないかと思います。
問題が発生後、移動先のパスに移動できなくなったということ
だと思います。

たぶん、その前のところで、US-ASCII 以外の文字を含む
ディレクトリ名、ファイル名がある(2バイト目が '\' の文字
が特に怪しい)とか、パスが長いか、何かしら ActivePerl
にとって都合の悪いことがあるのでしょう。

> 区切り文字に「/」を使用して
> 
> cd g:/share/projects/foldername
> 
> のようにすると、カレントディレクトリや移動先のディレクトリ

コマンドプロンプト(cmd.exe) の cd は '/' をパス区切り記号と
して認識しませんが、そのことは一切関係ありません。

> Namazuでのインデックス作成の際にディレクトリの区切り文字
> として「/」を使用しているのだとすると、「\」に変更する方法
> がもしあればご案内頂けると助かります。

残念ながら、そんなことをしても無意味です。


解決には至りませんが、
添付の findper.pl を実行すると、症状が再現できるのでは
ないでしょうか?

C:\> perl findper.pl g:/share/projects/foldername > log.txt

というのを実行した時、エラーは発生しないと思いますが、
mknmz で指定したパス名をフルパスで

C:\> perl findper.pl パス名 > log.txt

とすると、同じようなエラーが出るのではないかと思います。
これでエラーになるなら、ActivePerl にとって都合の悪いファイル構成
だということになります。

以上、よろしくお願いします。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: findperl.pl
URL:  <http://www.namazu.org/pipermail/namazu-win32-users-ja/attachments/20120213/9edfb0a4/attachment-0001.pl>


Namazu-win32-users-ja メーリングリストの案内