|
* GrepおよびGrep置換の検索対象ファイル [#w909ddbb] -ページ: [[BugReport]] -投稿者: [[kuuku]] -優先順位: 普通 -状態: 提案 -カテゴリー: Grep -投稿日: 2015-05-04 (月) 19:43:19 -バージョン: 2.2.0.1 (Rev.4011) ** メッセージ [#vd6c70db] GrepおよびGrep置換において、ファイル欄を *.bas としたときに、 *.basbak (に限らず、拡張子が "bas"+任意文字列)が一緒にGrep候補に混ざってしまいます。 *.cpp でも同様でした。 [#y5a88c01] *.txt のときに限り、正しく "txt" だけが対象になる場合と、やはり同様に "txt"+αのファイルが混ざる場合があるようですが、再現条件は特定できていません。 [#ccc98157] *.c では大丈夫("c" だけが対象になる)です。 [#re7d0e7a] 他に正常動作になる拡張子があるかどうかは不明です。 ---- - コマンドプロンプトでdir *.cppとすれば、.cppbakファイルも一覧に含まれるみたいです。同様に、del *.htmとすると.htmlファイルまで削除されます。拡張子が3文字に短縮される「短いファイル名(8.3形式)」もマッチするのがWindowsの仕様のようです。sakuraのgrepはWindowsのワイルドカード処理に準拠したAPIを使用しているためこうなってしまうのだと思われます。Ver1.6のsakuraでも同様でした。いまどき、8.3形式なんて使わないんですけどね… -- &new{2015-05-05 (火) 00:07:17}; - https://support.microsoft.com/ja-jp/kb/164351/jaにあるようにレジストリ変更しておけばレジストリ変更以後に作成したファイルについては期待通り動くようになるかもしれません。 -- &new{2015-05-05 (火) 00:30:34}; - 8.3形式のファイル名を作らないようにしたり削除するコマンドもあるみたいです。http://www.atmarkit.co.jp/fwin2k/win2ktips/1200disable83/disable83.html -- &new{2015-05-05 (火) 00:43:09}; - 調べてみたところ秀丸もデフォルトではサクラと同じWindows標準の動作です。が、秀丸には「拡張子と短縮ファイル名を厳密にチェックする」オプションがあって、これをONにすると期待する動作に変わるようです。 -- &new{2015-05-05 (火) 01:44:47}; - 「Grepファイル名で正規表現フィルター」で解決しませんか?→ [[upatchid:889]] -- &new{2015-05-08 (金) 16:36:17}; - upatchid:889は一般の人には扱いが難しいですね。数行で解決できそうなので修正パッチ作ってみました(&ref(BugReport#184.patch);)。8.3形式にマッチしてしまうのは害にしかならないと思うので秀丸のようにオプション化までする必要はないと思います。 -- [[LR4]] &new{2015-05-08 (金) 17:56:34}; - ご教示有難うございました。納得しました。並びに当初投稿のWiki整形ルール不整合をお詫びいたします。暗黙の8.3形式にマッチしない仕様にして頂けます とすごく助かります。 -- [[kuuku]] &new{2015-05-08 (金) 23:21:28}; - 備忘のためトラッカーに登録しました upatchid:992 -- [[syat]] &new{2015-05-09 (土) 22:49:18}; #comment #attach |