そんな感じのファイル名を探すPythonコードです。
実行すると、カレントフォルダ以下の全てのファイル及びフォルダ名を調べ、エラーが出そうな文字が使われているファイル名を列挙します。
(日本語Windows環境用。CP932外の文字を検出します)
import os
def is_cp932_safe(filename):
try:
filename.encode('cp932')
return True
except UnicodeEncodeError:
return False
def find_invalid_filenames(root='.'):
invalid_files = []
for dirpath, dirnames, filenames in os.walk(root):
for name in filenames + dirnames:
full_path = os.path.join(dirpath, name)
if not is_cp932_safe(name):
invalid_files.append(full_path)
return invalid_files
if __name__ == '__main__':
invalids = find_invalid_filenames()
if invalids:
print("CP932で利用できない文字が含まれているファイル名:")
for path in invalids:
print(path)
else:
print("CP932で利用できない文字が含まれるファイルは見つかりませんでした")
実例
こんな感じのファイルがあるフォルダで実行すると
こんな感じになります。
♡がと「プ」の半濁点がunicode文字です。①は機種依存文字ですが、CP932に含まれているので検出しません。
0 件のコメント:
コメントを投稿