特定の文字が含まれるファイル名でGREPエNo.08804
tamurk さん 15/11/06 11:27
 
お世話になっております。

特定の文字(0x96)がファイル名に使われているファイルの存在する
フォルダを対象にGREPを実行すると、「対象のファイルが他のプロセスで
使われている」旨のエラーメッセージが表示されます。その後、継続を
選択しても、GREPが最後まで完了せずにそこで止まってしまうことも
ありました。該当のファイルは他のプロセスでは使われておりません。

Windows 7上で、64ビット版の英語版秀丸を使用しております。

ご確認いただけますでしょうか。

余談ですが、アウトルックでマイナス「-」を入力するとこの文字
(やや長いマイナス)に変換されるようで、これが原因でこの文字が
思わぬところに混入されてしまうことがあり、困ったものです。

よろしくお願いします。

[ ]
RE:08804 特定の文字が含まれるファイル名No.08805
秀丸担当 さん 15/11/06 15:28
 

0x96という文字がShift-JISの2バイトの1バイト目のことだとしたら、例えば
「末」という漢字の半分のことだと思います。
Unicodeのことだとしたら、一般にU+0096と表され、秀丸エディタの文字コード
表示コマンドではUnicodeの0x0096と出る文字のことだと思います。

マクロでinsert "\x96";としてみたり、insert "\u0096";としてみたりして、そ
れをファイル名に貼り付けて名前を変えてみたりしたところでは、問題はうまく
再現できませんでした。

UnicodeのU+0096は、幅がゼロの文字に見えました。長いハイフンのような文字
とは違うようで、\x96とは違う文字のことを言われているような気がします。
Shift-JISの1バイト目の場合前後の文字列が関係していそうな場合や、U+0096
でもなさそうな場合、ファイル名全体の文字列を教えてもらえるとこちらでも同
じことが確認できると思います。

英語版秀丸エディタやコントロールパネルで「Unicode対応でないプログラムの
言語」を変えてみたりしましたが、うまく再現できていない状況です。

もし秀丸エディタの排他制御が設定されているとしたら、秀丸エディタで該当フ
ァイルを開いた状態からgrepを実行するとエラーになる場合があります。
[その他]→[動作環境]で左下の「上級者向け設定」をONにして、
[その他]→[動作環境]→[ファイル]→[排他制御1]で「読み書き禁止」に設定さ
れていると、秀丸エディタ自身で開いているファイルでエラーになります。

[ ]
RE:08805 特定の文字が含まれるファイル名No.08806
colder さん 15/11/06 16:24
 
colderです

>0x96という文字がShift-JISの2バイトの1バイト目のことだとしたら、例えば
>「末」という漢字の半分のことだと思います。
>Unicodeのことだとしたら、一般にU+0096と表され、秀丸エディタの文字コード
>表示コマンドではUnicodeの0x0096と出る文字のことだと思います。

これは欧文の0x96、UnicodeのU+2013のことではないでしょうか。

[ ]
RE:08806 特定の文字が含まれるファイル名No.08807
秀丸担当 さん 15/11/06 16:53
 

>これは欧文の0x96、UnicodeのU+2013のことではないでしょうか。

その通りでした。
U+2013は欧文で0x96で、ハイフンのように見えました。
コントロールパネルの「Unicode対応でないプログラムの言語」を英語にして、
英語版秀丸エディタで試してみたところ、再現させることができました。
調べて修正させていただきます。

[ ]
RE:08807 特定の文字が含まれるファイル名No.08808
tamurk さん 15/11/06 21:50
 
お世話になっております。

すみません、舌足らずで余計なお手数をお掛けしてしまいました。
colderさん、ありがとうございます。

修正していただけるということで、大変助かります。

よろしくお願いします。

[ ]