アイコン
Name Validator 4.3

1 概要

1-1 Name Validator の機能

 Mac OS X のファイルやフォルダの名称が、渡した相手の環境で文字化けなく表示できるか、表示されてもそこにトラブルの元が潜んでいないかを検証します。どの箇所に問題があるのかを明示するので、ユーザはその場でリネーム作業ができます。

1-2 インストール

 アプリケーションフォルダ等、任意の場所にコピーしてください。

1-3 アンインストール

 ゴミ箱で削除してください。初期設定ファイルも削除したい場合は、以下の場所にあります。

 ユーザの /Library/Preferences/monokano/NameValidator

1-4 動作確認

・Mac OS X 10.5.8 Intel(PPCでも動作すると思います)

[ 上に戻る ]

2 使い方

2-1 検証する

 ファイルやフォルダなどの総称を「アイテム」といいます。Name Validator にアイテムを渡すと、即座にアイテム名の検証が始まり、ウインドウに結果が表示されます。アイテムを渡す方法は3通りあります。

・ メニューバー[ファイル]>[開く...]でアイテムを選択
・ ウインドウにアイテムをドラッグ&ドロップ
・ アプリケーションアイコンにアイテムをドラッグ&ドロップ

2-2 再検証する

 Name Validator は渡されたアイテムを検証後も記憶しているので、これを再度検証することが可能です。再検証する方法は2通りあります。

・ メニューバー[ファイル]>[再検証]
・ 再検証マークをクリック

 再検証マークを右クリックすると、記憶しているアイテムの一覧をコンテクストメニューで確認できます。

2-3 検証を中止する

 検証を中止をする方法は2通りあります。なお、検証中は再検証マークが停止マークになっています。

・ メニューバー[ファイル]>[停止]
・ 停止マークをクリック

[ 上に戻る ]

3 設定

3-1 非互換ネームのみリスト表示  v.4.2 で一部仕様変更

 ON にして検証すると、名称に問題があるアイテムだけリストに表示されます。

 OFF にして検証すると、すべてのアイテムがリストに表示されます。

 検証後に ON/OFF を切り替えて設定をリストに反映させたい場合は、再検証をする必要があります。

 注:「階層表示にする」をONにすると、この設定は反映されません。 v.4.3 で可能に

3-2 階層表示にする  v.4.2 で追加

 ON にして検証すると、リストを階層表示にします。

 さらに「最下層まで検証する」をONにすると、検証時にフォルダをすべて展開します。

 検証対象に「ディレクトリが異なるアイテム」が混在していると階層表示が不正確になります。その時は検証前に警告が表示されるので、停止ボタンを押してやりなおしてください。

 検証中はエラー防止のためリスト選択ができなくなります。

 検証後に ON/OFF を切り替えて設定をリストに反映させたい場合は、再検証をする必要があります。

3-3 ロック状態を調べる

 アイテムはロックされているとリネームができません(Finder の「情報を見る」で「ロック」にチェックが入っている状態です)。この設定を ON にして検証すると、アイテムをリストに表示する際にロック状態を調べます。ロック状態ならリストに錠アイコンが表示され、名称がグレーになります。

 検証後にロックされているかどうかを調べるには、メニューバー[ファイル]>[ロック状態を調べる]を選択します。実行するとリストのアイテムすべてを調べます。

 なお、アイテムが直接ロックされていなくても、上位ディレクトリがロックされていれば同様にリネームができません。そこで Name Validator は検証するアイテムだけではなく、上位ディレクトリすべてのロック状態も調べます。

 上位ディレクトリのどこがロックされているかは、おおむね次のようにして確認できます。選択行を右クリックし、コンテクストメニューのフルパスを表示します。アイコンの左角に小さく錠アイコンが付いていれば、そこがロックされているディレクトリです。

 また、CD-ROM 等の書き込みができないメディアもロック状態にあると見なします。

3-4 最下層まで検証する

 この設定を ON にして検証すると、渡したアイテムだけではなく、フォルダの最下層まですべて検証されます。

 検証後に ON/OFF を切り替えて設定をリストに反映させたい場合は、再検証をする必要があります。

[ 上に戻る ]

4 チェック項目

4-1 拡張子なし

 拡張子がないアイテム名を検出します。

 拡張子は名称末尾の「ピリオド+半角英数字の組み合わせ」とされています。しかし、Name Validator では「ピリオド+英字1文字+英数字の組み合わせ」としています。ピリオド直後の1文字を英字のみにすることで、Mac OS Classic でよく見かける「〜.11.25」といった日付を拡張子と見なさないようにするためです。

 ただし、拡張子が整合性のある正しものかどうかは検証しません。

 ディレクトリ(ディスクやフォルダ)の名称は対象外です。

 Windows 環境へデータを渡す際には必須のチェック項目です。

▶▶ 編集フィールドの背景色が薄い黄色になります。

4-2 Windows 禁止文字

 Windows で名称に使えない文字、文字列が使われているアイテム名を検出します。

1.「 " / < > ! * ? ¥ \ | , ; 」の12文字「 " / < > * ? ¥ \ | , ; 」の11文字のいずれか
2.名称の先頭文字が「ピリオド」または「半角スペース」
3.名称の末尾文字が「ピリオド」
4.名称全体が「CON」「PRN」「AUX」「NUL」「CLOCK$」「COM1〜COM9」「LPT1~LPT9」と同一。(大文字・小文字のいずれも不可。拡張子付きでも不可)

 Windows 環境へデータを渡す際には必須のチェック項目です。

▶▶ 該当文字が赤くなります。

4-3 制御文字 (Cc, Cf)

 制御文字が含まれているアイテム名を検出します。Cc と Cf は Unicode の Category です。

 Cf は厳密にいうと制御文字ではありませんが、視認できないゼロ幅文字が含まれているのでここに入れています。

 このチェック項目は必ず ON にしておくことをお勧めします。

▶▶ 編集フィールドの背景色が薄い黄色になります。

4-4 ロングネーム|Mac

 名称を MacJapanese に変換した状態で、その総バイト数が 31 より多いアイテム名を検出します。

 検出された名称は、Mac OS Classic では文字数が多すぎるので文字化けします。

 Mac OS Classic 環境へデータを渡す際には必須のチェック項目です。

▶▶ 拡張子を除く多すぎる文字がオレンジ色になります。

4-5 ロングネーム|Win (非8.3形式)

 8.3形式ではないアイテム名を検出します。

 ここでは8.3形式を「使える文字が半角大文字英数字とピリオドだけ」「ピリオドはひとつだけ」「文字数がピリオドの前が8文字まで、ピリオドの後が3文字まで」として、それに合致しない名称をロングネームとして検出します。一部の記号も使えるようですが、面倒なのでそれらは不可にしています。拡張子がなくても、8文字以内ならファイル/フォルダの区別なく8.3形式に合致していると見なします。

 この仕様は作者が全然分かっていないので確実に間違っています。ベストな検証方法をご存知でしたらご教授ください。

▶▶ 全文字が赤くなります(手抜き)。

4-6 規格外|CP932

 CP932(Windowsのレガシーなテキストエンコーディング)の規格にない文字が使われているアイテム名を検出します。

 Windows 環境のみへデータを渡す時のチェック項目です。

▶▶ 該当文字が赤くなります。

4-7 規格外|MacJapanese

 MacJapanese(Mac OSのレガシーなテキストエンコーディング)の規格にない文字が使われているアイテム名を検出します。

 Mac OS Classic 環境のみへデータを渡す時のチェック項目です。

▶▶ 該当文字が赤くなります。

4-8 規格外|ISO-2022-JP

 ISO-2022-JP の規格にない文字が使われているアイテム名を検出します。

 日本語環境へデータを渡す時の汎用的なチェック項目です。

▶▶ 該当文字が赤くなります。

4-9 規格外|標準 ASCII

 標準 ASCII の規格にない文字が使われているアイテム名を検出します。

 非日本語環境へデータを渡す時の汎用的なチェック項目です。

▶▶ 該当文字が赤くなります。

4-10 Unicode|合成除外文字

 合成除外文字が使われているアイテム名を検出します。

 結合文字列を合成する方法としてUnicode正規化の合成が利用されますが、そこで問題となるのが合成除外文字です。合成は、いったん分解してから合成をします。しかし、分解されるものの合成されない文字があり、それを合成除外文字といいます。(たとえば合成除外文字の「神(示編)」は分解されると「神(ネ編)」に変わります。ちなみに、Unicode用語では1文字が別の1文字に変わる場合も分解といいます)

 このチェック項目が必要な例として、Adobe InDesign CS3 以降での配置ファイルがあります。配置ファイル名を正規合成してから保持するので、名称に合成除外文字が使われていると異なったファイル名で保持されてしまい、作業環境以外でリンク切れになります。

 InDesign CS1 も互換合成をするので、このチェック項目は同様に必要です。

 InDesign CS2 はまったく正規化をしないので、このチェック項目は必要ありません。

 なお、Appleの「HFS+フォーマット」はアイテム名を正規分解していますが、合成除外文字を分解しない特殊な方法なので、合成除外文字がそのままアイテム名に残ります。(OSX 10.4 ではFinder上で名称を直接編集すると合成除外文字も分解されましたが、10.5からまた分解されなくなっています)

▶▶ 該当文字が赤くなります。

4-10 Unicode|互換分解可能文字

 互換分解可能文字が使われているアイテム名を検出します。

 互換分解可能文字は、その互換分解が正規分解と異なる文字です。(たとえば互換分解可能文字「①」は、正規分解では変わりませんが、互換分解では「1」に変わります)

 このチェック項目が必要な例として、InDesign CS1 での配置ファイルがあります。配置ファイル名を互換合成してから保持するので、名称に互換分解可能文字が使われていると(互換合成は互換分解してから正規合成するので)異なったファイル名で保持されてしまい、作業環境以外でリンク切れになります。

 InDesign CS2 はまったく正規化をしないので、このチェック項目は必要ありません。

 InDesign CS3 以降の正規合成も互換分解可能文字は変わらないので、このチェック項目は必要ありません。

▶▶ 該当文字が赤くなります。

4-11 Unicode|結合文字列

 結合文字列が使われているアイテム名を検出します。

 「結合文字列」は、見た目は字形も同じ1文字なのに、2文字以上のデータの組み合わせで構成されている文字です。

 Appleの「HFS+フォーマット」は、アイテム名称をすべて正規分解しています(合成除外文字は分解されませんが、ここでは考えなくてもいいです)。分解されると「結合文字列」にできる文字はすべて「2文字以上のデータの組み合わせ」に変わります(見た目は変わらないので、眼で見ても判別は不可能です)。たとえば、日本語では濁音、半濁音がある文字は「結合文字列」に変わります。

 ソフトウェアの中には「結合文字列」に対応できないものがあり、そのためファイルを正常に扱えない場合があるようです。

▶▶ 該当文字が赤くなります。

4-12 Shift-JIS|5C

 名称をShift-JISに変換した状態で、そこに「2バイト目が5C」の文字が使われているアイテム名を検出します。

▶▶ 該当文字が赤くなります。

4-13 半角スペース(0020)

 半角スペース(U+0020)が使われているアイテム名を検出します。

 「規格外」のチェック項目がONになっている時は、該当のエンコーディングに変換してからその文字列に半角スペースがあるかどうかを調べます。

▶▶ 編集フィールドの背景色が薄い黄色になります。

4-14 大文字と小文字を区別

 「abc.txt」「aBc.Txt」などのように “大文字と小文字を区別しない環境では同一と見なされる名称” が同一階層に同時に存在しているアイテムを検出します。

 このチェック項目は、検証対象のルートディスクが「大文字と小文字を区別(Case-sensitive)」にフォーマットされているか否かに関らず、必ずONにしておくことをお勧めします。

▶▶ 全文字が赤くなります。

4-15 その他の仕様 v.4.3 で追記

 チェック項目のON/OFFを切り替えると、その結果が即座にリスト表示へ反映されます。ただしそれは「現在リストに表示されているもの」だけに反映されます。渡されたアイテムを対象に検出を新たに始めるわけではありません。

[ 上に戻る ]

5 検証セット

5-1 デフォルトの検証セット

 デフォルトの検証セットは「Windows」「Mac OS Classic」「日本語 汎用」「汎用」の4つです。初回起動時は他にもセットがありますが、それはサンプルです。

 デフォルトの検証セットは編集できません。

5-2 作成する

 セット編集メニューで[別名で保存...]を選びます。セット名を入力するダイアログが表示されるので、他と重複しない名前にしてください。OK ボタンを押すと検索セットに追加されます。

5-3 保存する

 チェック項目の ON/OFF を変更しただけでは、検証セットの内容は変わりません。変更を保存するにはセット編集メニューで[保存]を選びます。

5-4 セット名を変更する

 セット編集メニューで[セット名を変更...]を選びます。以降は[別名で保存...]と同様です。

5-5 削除する

 セット編集メニューで[削除]を選びます。

[ 上に戻る ]

6 文字編集・リネーム

6-1 文字編集 v.4.1 で一部仕様変更

 リストの行を選択すると、文字編集フィールドにアイテム名が表示されます。

 ここで文字を編集し、問題箇所がなくなると、リネーム可能になります(リネームボタンが押せるようになります)。

 編集中の文字列は、編集名としてリアルタイムにリストの右列に格納されます。その行を再度選択したときは、アイテム名ではなく編集名が文字編集フィールドに表示されます。

 文字編集フィールドからリストにフォーカスを移動するには[return][enter][tab]キーのいずれかを押します。

 編集名がアイテム名と同じ場合は、リストの右列に格納されません(大文字と小文字を区別して比較)

 編集名がリストに格納されると、以降の検証はアイテム名ではなく編集名が対象になります。

6-2 リネーム

 リネームとは、アイテム名を実際に変更することです。

 リネーム可能になると、リネームボタンが押せるようになります。

 リストの行が選択された状態でリネームボタンを押すと、その行のアイテムだけリネームされます。リネームが成功すると、リストのアイテム名はリネームされた名称になります。

 リストの行がひとつも選択されていない状態でもリネームボタンが押せる場合があります。編集名が格納されていて、それがリネーム可能なときです。この状態でリネームボタンを押すと、リネーム可能な行をすべてリネームします。

 リネームはメニューからも操作が可能です。

・ メニューバー[編集]>[リネーム]
・ メニューバー[編集]>[すべてをリネーム]

 また、キードードショートカット[command+return]または[command+enter]でもリネームできます。

 リネーム時には、Finder ウインドウ内のアイコン位置が(可能なかぎり)動かないようにします。

6-3 拡張子を非表示 v.4.3 で追加

 「拡張子を非表示」にチェックを入れると文字編集フィールドに拡張子が表示されなくなります。なお、正規表現「$」は文字編集フィールドに表示されている文字列の末尾にヒットするので、拡張子が非表示の状態では、検索対象文字列から拡張子が除外されます。

[ 上に戻る ]

7 その他の機能

7-1 Finder に表示 v.4.2 で一部仕様変更

 リストの行を選択して[command]キーを押しながらダブルクリックすると、アイテムを Finder に表示します。メーニューバー[ファイル]>[Finder に表示]でも可能です。

7-2 ソート

 リストは「名称」「チェックマーク」「編集名」「ロック状態」でソートが可能です。

 メーニューバー[編集]>[ソート]以降を辿って操作します。しかしメニューでは煩雑なので、キーボードショートカットで操作すると良いでしょう。

7-3 バッチ

 バッチウインドウを表示するには、メニューバー[編集]>[バッチ...]を選択します。

 処理対象を「全行」「選択行のみ」のいずれかに決めてから、下部のボタンを押してください。

 ボタンを押すと、リストの文字のうち「編集名があれば編集名」「編集名がなければアイテム名」を置換・変換します。

7-4 リネームボタン

 リネームボタンを右クリックすると、コンテクストメニューでデフォルトボタンにできます。デフォルトボタンにすると[return][enter]キーのみでリネームできるようになります。(しかし、入力時のキー操作で意図せずリネームしてしまうことがあるので、あまりオススメはしません)

7-5 編集

・ 「 : \ ¥ 」の3文字は入力できません。さらに、これらの文字があるとリネームができなくなります。

・ 先頭にピリオドは入力できません。さらに、先頭にピリオドがあるとリネームができなくなります。

・ 同一階層の他アイテムに同じ編集名が使われている時はリネームができなくなります(大文字と小文字を無視して比較)

・ 編集名が同一階層の他アイテム名と同じ時はリネームができなくなります(大文字と小文字を無視して比較)

 上記はその都度編集フィールド上部に赤字で警告表示されます。

・ メーニューバー[編集]>[取り消し]は、編集中の文字列を破棄するだけです。[esc]キーも同様です。

・ 編集フィールドの左上にもチェックマークが小さく表示されます。編集作業中にリストを見て確認しなくていいので便利ですが、ちょっとクドいようでしたら[編集:]の文字を右クリックするとコンテクストメニューで非表示にできます。v.4.1 で追加

7-6 検索置換 v.4.1 で追加

 検索ウインドウを表示するには、メニューバー[編集]>[検索...]を選択します。

 正規表現検索が可能です(PCRE 7.8)。

 「ストック」に検索置換設定を保管できます。設定を変更して保存するには[保存]ボタンを押します。

7-7 階層表示 v.4.2 で追加

 階層表示の時は不正確になるのを防ぐため、[delete]キーでの行削除、マウスドラッグでの行移動ができなくなります。

 行を選択して [shift+command+→]キーを押すと、選択行を最下層まですべて展開します。

 [option+shift+command+→]キーを押すと、リストの全行を最下層まですべて展開します。

 ▶をマウスクリックして展開した時は、展開中に中止ができません。そのため警告が表示される場合があります。その時はダブルクリックで展開してください(ダブルクリックで展開すれば中止が可能です)。

[ 上に戻る ]

8 改訂履歴・連絡先

8-1 改訂履歴

ver. 4.3 2010.09
▷ 「非互換ネームのみ表示」が階層表示では不可だったのをできるようにした。
▷ シンボリックリンクを検証対象外にした。
▷ 文字編集フィールドのサイズを広くした。
▷ 文字編集フィールドに拡張子を表示させない機能を追加した。
▷ 文字編集フィールドの非互換文字着色を「暗い赤」から「明るい赤」に変更した。
▷ 終了時のウインドウサイズと位置を次回起動時に反映するようにした。
▷ ウインドウがひとつもない時にDockアイコンをクリックすると新規ウインドウが表示されるようにした。

ver. 4.2 2009.07
▷ 階層表示を可能にした。
▷ 階層表示にともなう若干の仕様変更。
▷ カスタマイズした検証セットの設定を起動時に読み込まない v4.1 の不具合を修正。
▷ その他、微調整。

ver. 4.1 2009.06
▷ 検索置換機能を追加。
▷ 編集中の文字列をリアルタイムに編集名へ格納するようにした。
▷ リストを選択するとチェックマークと錠アイコンが非表示になっていたが、表示するように改善した。
▷ 編集フィールド左上に小チェックマークを表示するようにした。
▷ バッチに項目を追加。
▷ その他、微調整。

ver. 4.0 2009.06 「Name Validator」に改名。全面的に作り直した。

ver. 3.0 2004.10 「非互換ネームcheck」に改名。

ver. 1.0 2003.09 「ロングネームcheck」として公開。

8-2 連絡先

 ものかの http://tama-san.com/

[ 上に戻る ]