- Title(Eng): How to reveal the hidden(invisible) files on MacOS(OSX)
Cause(原因)
- MacOSのNDF形式の文字がそのままpCloudのStorageに書き込まれると、その後MacOSのpCloudClientであっても不可視になってしまう。(WebUIでは見える)
- 対象は、文字コード様式がNFCであるファイルシステムHFS+(MacOS ver10系?)である。
NDFとは
MacOS(OSX)の濁点処理の問題。通常、「だ」といった濁点文字をNFCであ1文字として扱うのですが、NDFでは「た」と「゛」と別に扱う。そのために一見、同じフォルダ名、ファイル名に見えても別となる。
- 例
2. ファイル名
3. フォルダ名
4. PDF化された文字列
Solution(解決方法)
- Ownerを修正
2. Finderでファイルが表示されないフォルダで右クリックからOwnerを修正 - groupを修正
- フォルダ名から日本語の濁点を取り除く。
4. 例: だ → Da。
参考
追加の解決方法 (2022.03.05)
- 2022.03.05現在、一部仕様変更されてNFCは消えた?統合された?が、NFC様式のファイルはまだ残っていた。
- 消されたのなら最悪であるが...
方法概要
- pCloudCC(pCloud CLIクライアントソフト)を用いると、NDF不可視ファイル/フォルダも見える。よって、このソフトを使ってファイルをアクセスできる状態にして、プログラムで一括修正(NDF->NFC)にする。
- pCloudCCは暗号化ファイルも閲覧できる。
方法手順
ploudCCのインストール
- pcloudcom/console-client
- Linuxにしか対応してない(??)。
- 私はLinuxを使っていたので省略。Linux以外の方はDockerで使ってLinux(Ubuntu18.04例)を構築してください。
マウント
-
/usr/local/bin/pcloudcc -u あなたのpcloudのID(mail) -d -m ~/pCloudDrive/
-
-d
はデーモン化。動作確認には-d
をはずそう。 -
-c
: 暗号化フォルダをUnCryptしたい時用。
-
NDF->NFC(KFKC)を直すコード
- ※一方、MacOS側でファイル名をHFS+用(=濁点は別の文字コードNDF)にするには"NFKD"と変えて、MacOS上で実行する。
下記を要実行。
import unicodedata
from pathlib import Path
pcloud_path_str = "/home/あなたのアカウント/pCloudDrive/" #上記のPATHを指定
p_pcloud = Path(pcloud_path_str)
for a_path in p_pcloud.glob('**/*'):
old_path = a_path
print(f"old:{old_path.as_posix()}")
new_path = a_path.with_name(unicodedata.normalize('NFC', a_path.name))
# print(f"new:{new_path.as_posix()}")
if old_path.as_posix() != new_path.as_posix():
a_path.rename(new_path)
print(f"Renamed:{old_path.as_posix()} -> {new_path.as_posix()}")