ファイル名が長過ぎて、うっかりMS-DOSフォーマットの外付けにコピーしたところ、不可視ファイルになってしまった。内包しているフォルダごとゴミ箱に入れても削除できず。
ファイル名: 不明(日本語+.weblocだった事だけは覚えてた)
コピー元: Mac OS(OS X – 10.4)
コピー先: MS-DOS(FAT32)
そこで、
1)ターミナル.appで削除
該当フォルダへ移動して、UNIXコマンド「ls -a」でファイル一覧を見たところ、●._????????????????(…長々と続く)
●????????????????(…長々と続く)
の2ファイルを発見(ターミナル上では文字化けしてしまう模様)。
そこで、そのままファイル名をコピーして「rm」コマンドの後にペーストしたところ、「No such file or directory」とエラーが返ってきてしまう。フォルダごと削除もだめでした。
※ちなみにこのエラー表示内では日本語ファイル名に戻ってました。文字数は全角35文字に省略されていた。なんで。
2)ターミナルで不可視ファイルを可視化→削除
下記サイトの手順での可視化はできたが、ファイルを選択すると再び不可視になってしまう。なんでなんで。Bowz::Notebook » Mac OS X で不可視ファイルを表示・削除する方法
http://bowz.info/897
表示: defaults write com.apple.finder AppleShowAllFiles true
非表示: defaults write com.apple.finder AppleShowAllFiles false
Finder再起動: killall Finder
3)Xfolders.appで削除
上記サイトに記載のある、不可視ファイルを見られるようにできるアプリケーション「Xfolders」を使ってみましたが、該当フォルダに移動してもファイルが見当たらず。フォルダごと削除も出来ず。Xfolders
http://www.kai-heitkamp.com
4)muCommander.appで削除
今度は「muCommander」を使ってみます。「Xfolders」と同様のツールです。muCommander
http://www.mucommander.com
該当フォルダに移動したところ、
●._日本語ファイル名ですよ…
●日本語ファイル名ですよ…
の2ファイルは見えるが、文字数は35文字のまま。
削除、リネームなどを試してみたが、エラー(詳細は不明)のため削除できず。フォルダごと削除もだめでした。
5)元ファイル名を調べる→ターミナル.app
仕方がないので、(1)で判明したファイル名の一部から、元のファイル名を探り当てる。今回の場合は.weblocファイル、つまりファイル名=サイトのタイトルなので、ググれば一発で判明。その他のファイルの場合は、バックアップ、キャッシュ、ログなどから調べることになるかと。ちなみに元ファイル名は「全半角混じり86文字+拡張子.webloc」でした。で、(1)の手順で「rm」コマンドの後に判明したファイル名を入れて、returnをキーをバチッと叩けば・・・削除できましたーーー!
原因)
Windowsのファイル名は一応255文字(多分255byte。全角の場合その半分の127文字)までだそうですが、ファイルのフルパスが259文字(byte)を超えるとアウトらしいので、多分それが原因。なんだか微妙な仕様だ・・・。32bit Windowsのファイル名に関して
http://beefway.hp.infoseek.co…….ename.html
外付けがMacフォーマットだったらおそらく起きない問題なんではないかと(試してないけど)。
もしかして、Windowsから削除した方が早かったのか・・・?
教訓)
weblocファイルには気をつけろ。(ついでにサイト制作の際、サイト・タイトルは短く簡潔にしよう!)