[ 新規に投稿する ]

名前変更フォーカス移動でスペース削除実行希望No.09896
jo さん 22/03/10 20:40 [ コメントを投稿する ]
  名前変更フォーカス移動でスペース削除実行希望

タイトルのとおりです ファイル名の前後にスペースが有る場合
前回自動で除去機能付加していただきました
さらにすすめて
ファイル名変更(ダイアログではない)で青くフォーカスされてる状態で上下移動していく際にスペース除去だけは有効に働かせていただきたいです

実装検討お願いします
[ ]
RE:09896 名前変更フォーカス移動でスペース削除実行希望No.09898
秀丸担当 さん 22/03/11 09:05 [ コメントを投稿する ]
  上下キーの名前変更入力欄の移動はオプションではありますが、Tabキー/Shift+Tabキーはオプションなしでもできます。

スペース自動除去は、任意のオプションです。
任意なので全ての人に影響するわけではないですが、決定をせずに上下に移動するだけで決定となるのは、仕様としてあまり良くない気がします。
Enterでは決定になるので、少し手間かもしれないですが、Enterでされることをお勧めします。

または、複数選択してF2からのモードを置換にして、「名前の変更(置換)」で、まとめて置換する方法もあります。
検索文字列「^\s+|\s+$」
置換文字列「」
正規表現:ON
拡張子も対象にする:OFF
最初に見つかったもののみ:OFF
とすると、先頭末尾の空白を除去して置換ができます。
[ ]
RE:09898 名前変更フォーカス移動でスペース削除実行希望No.09901
jo さん 22/03/14 11:00 [ コメントを投稿する ]
  >上下キーの名前変更入力欄の移動はオプションではありますが、Tabキー/Shift+Tabキーはオプションなしでもできます。
> ......
>とすると、先頭末尾の空白を除去して置換ができます。

スクリプトで現在開いてるタブのフォルダをサブフォルダふくめて
全選択して中のファイルに置換処理を一気にかけるように
手順を自動化することは可能でしょうか?
手動で全項目選択して 置換ダイアログの 前回処理内容を保存しておいてやる方法があるのでしょうが自動化できないでしょうか?

それから今回一括置換テストを手動で試みましたが
バグなのか1.72ベータ1では 高度のファイル名変更で
自動でスペース削除のチェック外してファイル名決定してもすぺーすいれられなくなってます OFFれないです ソフト再起動してもだめです
私だけでしょうか?
[ ]
RE:09901 名前変更フォーカス移動でスペース削除実行希望No.09903
秀丸担当 さん 22/03/14 17:05 [ コメントを投稿する ]
  スクリプトを使って現在開いてるタブのフォルダをサブフォルダ含めて置換するのは、できないことは無いと思いますが、RenameReplace(仮)が無いということもありますけども、あったとしても秀丸ファイラーClassicの機能としてやるのは向いていないです。
やるとしたら、タブのフォルダの場所だけを取得するのは秀丸ファイラーClassicの直接のスクリプトにあるメソッド/プロパティでやるしかないですが、実際の置換処理はごりごりと複雑なスクリプトを書いたほうがいいような話になってくると思います。

スペース除去は、幾つか混乱する点がありました。
もともと、エクスプローラと同等の名前の変更は、ファイル名先頭と末尾のスペースは除去されます。

「(1)FileName(2).Txt(3)」

という感じだったとして、(1)と(3)の部分の半角空白は、エクスプローラでも、秀丸ファイラーClasicの初期状態(エクスプローラ相当)でも、除去されます。
あと、先頭の空白の具合によって、除去しようとしても、同じとみなされて「送り側と受け側のファイル名が同じです」というエラーになってしまう場合があります。(エクスプローラでも)

秀丸ファイラーClassicの[ツール]→[オプション]→[上級者向け]→[名前の変更]の設定に、関連する設定があります。
「名前変更は常にファイルシステム」をONにすると、エラーでどうにもならないということは無く、確実に空白を入れたり、空白を除去できるようになります。
「先頭末尾の空白自動除去」をONにすると、上記の(1)と(2)と(3)の部分全部で、半角空白だけでなく、全角空白も除去されます。
そのあたりの詳細をヘルプにも書いておきます。

全角空白も想定して、(2)も含めて自動除去と同等にするには、先のコメントの正規表現は適切ではありませんでした。
検索文字列は「^[  ]+|[  ]+$」で、「拡張子も対象にする」はONとOFFの両方で2回に分けてやらないといけませんでした。
何にしても、RenameReplace(仮)のメソッドはあったほうがいいので、作ろうと思います。

[ ]

[ 新規に投稿する ]